Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c0bb3430bb | |||
| 073803d05a | |||
| f99b483bce | |||
| e0c0ac7c45 | |||
| 2b3083143d | |||
| afd65d3bcb | |||
| 120f3f3b67 | |||
| 59da5d315d | |||
| 35321a56b8 | |||
| ea7cec2777 | |||
| a6a4ceceb8 | |||
| f63779e5d3 | |||
| 14964be220 | |||
| 9b3813cde0 | |||
| 5824678ff9 | |||
| 77e48ed460 | |||
| 586671a52a | |||
| ce6bcd2f88 | |||
| a78534b3b4 | |||
| 6827099f44 | |||
| 76454300f2 | |||
| 256b5f209d |
17
.env
Normal file
17
.env
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
### Photon Environment Variables
|
||||||
|
PHOTON_PORT=8090
|
||||||
|
SHARE_DOMAIN=localhost:8080
|
||||||
|
USER_EMAIL=photon@jrdn.dev
|
||||||
|
SHARE_URL_SCHEME=http
|
||||||
|
DATA_PATH=./data
|
||||||
|
|
||||||
|
### Photon Worker Environment Variables
|
||||||
|
SCAN_RATE=10
|
||||||
|
|
||||||
|
### Database Environment Variables
|
||||||
|
MYSQL_HOST=db
|
||||||
|
MYSQL_DATABASE=photon
|
||||||
|
MYSQL_USER=photon
|
||||||
|
MYSQL_PASSWORD=changeme
|
||||||
|
MYSQL_ROOT_PASSWORD=pleasechangeme
|
||||||
|
|
||||||
30
.gitea/issue_template/bug_report.yml
Normal file
30
.gitea/issue_template/bug_report.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Bug Report
|
||||||
|
about: File a bug report
|
||||||
|
title: "[Bug] ..."
|
||||||
|
labels: "Kind/Bug"
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What happened?
|
||||||
|
description: Describe the bug and what the expected behaviour was.
|
||||||
|
placeholder: A bug happened!
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: What version of Photon are you running? You can find this in the footer of the app.
|
||||||
|
options:
|
||||||
|
- 0.1.1 (Latest)
|
||||||
|
- 0.1.0
|
||||||
|
- 0.0.9
|
||||||
|
- 0.0.8
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
This issue was created using the bug report template.
|
||||||
|
visible: [content]
|
||||||
1
.gitea/issue_template/config.yml
Normal file
1
.gitea/issue_template/config.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
30
.gitea/issue_template/enhancement.yml
Normal file
30
.gitea/issue_template/enhancement.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Enhancement Request
|
||||||
|
about: Suggest a way things could be improved
|
||||||
|
title: "[Enhancement] ..."
|
||||||
|
labels: "Kind/Enhancement"
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: idea
|
||||||
|
attributes:
|
||||||
|
label: What is your idea?
|
||||||
|
description: Describe the feature you would like to see. Attach any screenshots or mockups if you have them.
|
||||||
|
placeholder: I would like to see...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: What version of Photon are you running? You can find this in the footer of the app.
|
||||||
|
options:
|
||||||
|
- 0.1.1 (Latest)
|
||||||
|
- 0.1.0
|
||||||
|
- 0.0.9
|
||||||
|
- 0.0.8
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
This issue was created using the feature template.
|
||||||
|
visible: [content]
|
||||||
30
.gitea/issue_template/feature.yml
Normal file
30
.gitea/issue_template/feature.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Feature Request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: "[Feature] ..."
|
||||||
|
labels: "Kind/Feature"
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: idea
|
||||||
|
attributes:
|
||||||
|
label: What is your idea?
|
||||||
|
description: Describe the feature you would like to see. Attach any screenshots or mockups if you have them.
|
||||||
|
placeholder: I would like to see...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: What version of Photon are you running? You can find this in the footer of the app.
|
||||||
|
options:
|
||||||
|
- 0.1.1 (Latest)
|
||||||
|
- 0.1.0
|
||||||
|
- 0.0.9
|
||||||
|
- 0.0.8
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
This issue was created using the feature template.
|
||||||
|
visible: [content]
|
||||||
28
README.md
28
README.md
@@ -6,32 +6,4 @@ To deploy Photon, use the included `docker-compose-example.yml`.
|
|||||||
|
|
||||||
Ensure you have a data folder that contains your screenshots. Current supported mimetypes are `JPG`, `PNG`, `GIF` and `MP4`.
|
Ensure you have a data folder that contains your screenshots. Current supported mimetypes are `JPG`, `PNG`, `GIF` and `MP4`.
|
||||||
|
|
||||||
```
|
|
||||||
services:
|
|
||||||
photon:
|
|
||||||
container_name: photon_dashboard
|
|
||||||
image: git.jrdn.dev/jordanwalster/photon-dashboard:latest
|
|
||||||
ports:
|
|
||||||
- 8090:80
|
|
||||||
volumes:
|
|
||||||
- type: bind
|
|
||||||
source: ./data
|
|
||||||
target: /var/www/html/data
|
|
||||||
bind:
|
|
||||||
propagation: rshared
|
|
||||||
environment:
|
|
||||||
ADMIN_DOMAIN: photon.jrdn.dev
|
|
||||||
SHARE_DOMAIN: ss.example.com
|
|
||||||
USER_EMAIL: me@example.com
|
|
||||||
```
|
|
||||||
|
|
||||||
There are additional environment variables that can be set to enable experimental features (defaults are set to false):
|
|
||||||
|
|
||||||
|
|
||||||
| Environment Variable | Values | Default | Description |
|
|
||||||
| -------------------- |:-----------------:|:-------:| ---------------------------------- |
|
|
||||||
| TAGS_ENABLED | `true` \| `false` | false | Enables the tagging functionality |
|
|
||||||
| SEARCH_ENABLED | `true` \| `false` | false | Enables screenshot search |
|
|
||||||
| PAGE_LIMIT | `int` | 24 | Override the default page limit |
|
|
||||||
|
|
||||||
You can find the container image history [here](https://git.jrdn.dev/jordanwalster/-/packages/container/photon-dashboard/versions).
|
You can find the container image history [here](https://git.jrdn.dev/jordanwalster/-/packages/container/photon-dashboard/versions).
|
||||||
|
|||||||
64
changelog.md
64
changelog.md
@@ -2,6 +2,70 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [v0.1.2] - 2025-04-29
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> This introduces a breaking change that requires the latest version of the photon-worker container image.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Image compression worker function, decreasing page load times.
|
||||||
|
|
||||||
|
## [v0.1.1] - 2025-04-28
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Columns not updating when selected in dropdown.
|
||||||
|
- Icons missing from context menu on search page.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Version numbers are now taken from container image.
|
||||||
|
|
||||||
|
## [v0.1.0] - 2025-04-27
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Sharing URL Scheme set to `https` regardless of setting in environment variables.
|
||||||
|
- Search not clearing the first two characters after emptying search field.
|
||||||
|
- Error handing for existing tag names.
|
||||||
|
- Double click bug on modals.
|
||||||
|
- Permanently deleting images did not remove from db
|
||||||
|
- Pagination on tagged pages showed in the corner.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Upgraded to PHP 8.
|
||||||
|
- Database engine now using MySQL.
|
||||||
|
- Mandatory setting for admin url removed.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Search by image content using OCR via worker container.
|
||||||
|
- Button for applying actions to multiple images at a time.
|
||||||
|
- Automatic migration tool for SQLite to MySQL
|
||||||
|
- Tag not found page for nonexistent tags.
|
||||||
|
- Custom time zone environment variable.
|
||||||
|
- Form validation using JS for frontend.
|
||||||
|
- Messaging for no OCR table.
|
||||||
|
- Icons on context menu.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
- Image format being shown in corner.
|
||||||
|
|
||||||
|
## [v0.0.9] - 2025-04-21
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Occasional redirection to a previous page when deleting or restoring images.
|
||||||
|
- Assign tags field remembers existing tags.
|
||||||
|
- Allowing removal of tags from an image.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Pages no longer use query strings and instead use paths.
|
||||||
|
- Tags now replace spaces with dashes.
|
||||||
|
- Search, Tags and Trash now enabled by default.
|
||||||
|
- File format shown in badge.
|
||||||
|
- Links are now path based instead of query string based.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Introduced search functionality.
|
||||||
|
- Rename tag button.
|
||||||
|
- Restore all button for trashed images.
|
||||||
|
|
||||||
## [v0.0.8] - 2025-01-30
|
## [v0.0.8] - 2025-01-30
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -2,17 +2,38 @@ services:
|
|||||||
photon:
|
photon:
|
||||||
container_name: photon_dashboard
|
container_name: photon_dashboard
|
||||||
image: git.jrdn.dev/jordanwalster/photon-dashboard:latest
|
image: git.jrdn.dev/jordanwalster/photon-dashboard:latest
|
||||||
ports:
|
|
||||||
- 8090:80
|
|
||||||
volumes:
|
volumes:
|
||||||
|
- ./db:/var/www/html/db # Only required if migrating from SQLite
|
||||||
- type: bind
|
- type: bind
|
||||||
source: ./data
|
source: ${DATA_PATH}
|
||||||
target: /var/www/html/data
|
target: /var/www/html/data
|
||||||
bind:
|
bind:
|
||||||
propagation: rshared
|
propagation: rshared
|
||||||
environment:
|
ports:
|
||||||
ADMIN_DOMAIN: photon.jrdn.dev
|
- ${PHOTON_PORT:-8090}:80
|
||||||
SHARE_DOMAIN: ss.example.com
|
env_file:
|
||||||
USER_EMAIL: me@example.com
|
- .env
|
||||||
TAGS_ENABLED: false
|
web:
|
||||||
SEARCH_ENABLED: false
|
container_name: public_web
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- 8080:80
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}:/usr/share/nginx/html:ro
|
||||||
|
worker:
|
||||||
|
container_name: photon_worker
|
||||||
|
image: git.jrdn.dev/jordanwalster/photon-worker:latest
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}:/var/www/html/data
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
db:
|
||||||
|
container_name: photon_db
|
||||||
|
image: mariadb
|
||||||
|
volumes:
|
||||||
|
- db:/var/lib/mysql
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db:
|
||||||
Reference in New Issue
Block a user