114 lines
4.8 KiB
YAML
114 lines
4.8 KiB
YAML
captainVersion: 4
|
|
services:
|
|
$$cap_appname:
|
|
image: 'photoprism/photoprism:$$app_version'
|
|
depends_on:
|
|
- $$cap_appname-db
|
|
environment:
|
|
PHOTOPRISM_ADMIN_PASSWORD: $$app_admin_password
|
|
PHOTOPRISM_AUTH_MODE: password
|
|
PHOTOPRISM_SITE_URL: 'https://$$cap_appname.$$cap_root_domain'
|
|
PHOTOPRISM_ORIGINALS_LIMIT: $$app_upload_size_limit
|
|
PHOTOPRISM_HTTP_COMPRESSION: gzip
|
|
PHOTOPRISM_UPLOAD_NSFW: 'true'
|
|
PHOTOPRISM_DATABASE_DRIVER: mysql
|
|
PHOTOPRISM_DATABASE_SERVER: srv-captain--$$cap_appname-db
|
|
PHOTOPRISM_DATABASE_NAME: photoprism
|
|
PHOTOPRISM_DATABASE_USER: photoprism
|
|
PHOTOPRISM_DATABASE_PASSWORD: $$db_password
|
|
volumes:
|
|
- '$$cap_appname-originals:/photoprism/originals'
|
|
- '$$cap_appname-storage:/photoprism/storage'
|
|
working_dir: /photoprism
|
|
labels:
|
|
$$cap_appname-chadburn.enabled: $$chadburn_enabled
|
|
$$cap_appname-chadburn.job-exec.photoprism_index.schedule: '$$chadburn_index_schedule'
|
|
$$cap_appname-chadburn.job-exec.photoprism_index.command: 'photoprism index --cleanup'
|
|
caproverExtra:
|
|
containerHttpPort: '2342'
|
|
$$cap_appname-db:
|
|
restart: unless-stopped
|
|
image: 'mariadb:$$db_version'
|
|
volumes:
|
|
- '$$cap_appname-db:/var/lib/mysql'
|
|
environment:
|
|
MARIADB_AUTO_UPGRADE: '1'
|
|
MARIADB_INTDB_SKIP_TZINFO: '1'
|
|
MARIADB_DATABASE: photoprism
|
|
MARIADB_USER: photoprism
|
|
MARIADB_PASSWORD: $$db_password
|
|
MARIADB_ROOT_PASSWORD: $$db_root_password
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
$$cap_appname-chadburn:
|
|
restart: unless-stopped
|
|
image: 'premoweb/chadburn:$$chadburn_version'
|
|
volumes:
|
|
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
caproverOneClickApp:
|
|
variables:
|
|
- id: $$app_version
|
|
label: Photoprism Version
|
|
defaultValue: 220901-bullseye
|
|
description: >-
|
|
Check out their Docker page for the valid tags
|
|
https://hub.docker.com/r/photoprism/photoprism/tags
|
|
validRegex: '/^([^\s^\/])+$/'
|
|
- id: $$app_admin_password
|
|
label: Photoprism Admin Password
|
|
defaultValue: $$cap_gen_random_hex(32)
|
|
description: Set a secure password for the admin user
|
|
validRegex: '/.{1,}/'
|
|
- id: $$app_upload_size_limit
|
|
label: File Size Limit
|
|
defaultValue: '5000'
|
|
description: File Size Limit for Originals in MB
|
|
validRegex: '/^([^\s^\/])+$/'
|
|
- id: $$db_version
|
|
label: Mariadb Version
|
|
defaultValue: '10.9'
|
|
description: >-
|
|
Check out their Docker page for the valid tags
|
|
https://hub.docker.com/_/mariadb/tags
|
|
validRegex: '/^([^\s^\/])+$/'
|
|
- id: $$db_password
|
|
label: MariaDB User Password
|
|
defaultValue: $$cap_gen_random_hex(32)
|
|
description: User password for the database
|
|
validRegex: '/.{1,}/'
|
|
- id: $$db_root_password
|
|
label: MariaDB Root Password
|
|
defaultValue: $$cap_gen_random_hex(32)
|
|
description: Root password for the database
|
|
validRegex: '/.{1,}/'
|
|
- id: $$chadburn_version
|
|
label: Chadburn Version
|
|
defaultValue: 1.0.3
|
|
description: >-
|
|
Check out their Docker page for the valid tags
|
|
https://hub.docker.com/r/premoweb/chadburn/tags
|
|
- id: $$chadburn_enabled
|
|
label: Enable scheduling for indexing files
|
|
defaultValue: false
|
|
description: >-
|
|
Enable scheduling for indexing files from the originals folder. Useful is the originals folder is shared by another app, like nextcloud, etc. For scheduling imports, etc, simply use the photoprism GUI.
|
|
- id: $$chadburn_index_schedule
|
|
label: Enable scheduling for indexing files in the originals folder
|
|
defaultValue: '@every 1h'
|
|
description: >-
|
|
Set the time frame for scheduling indexing files from the originals folder. Check out the allowed values here: https://github.com/PremoWeb/chadburn
|
|
instructions:
|
|
start: |-
|
|
AI-Powered Photos App for the Decentralized Web
|
|
More details: https://photoprism.app/
|
|
end: >-
|
|
Photoprism has been successfully deployed! Important further steps:
|
|
1. Enable HTTPS on the domain.
|
|
2. Enable websocket support
|
|
displayName: Photoprism (vbbot)
|
|
isOfficial: true
|
|
description: AI-Powered Photos App for the Decentralized Web
|
|
documentation: 'See https://photoprism.app/'
|