9826e57149
You should now be able to provide UMASK, UID and GID as environment variables when using our production images. Work in progress.
90 lines
3.8 KiB
YAML
90 lines
3.8 KiB
YAML
version: '3.5'
|
|
|
|
services:
|
|
# Uncomment the following lines to test with Caddy as reverse proxy:
|
|
#
|
|
# caddy:
|
|
# image: caddy:2
|
|
# depends_on:
|
|
# - photoprism
|
|
# ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
# volumes:
|
|
# - ./docker/development/caddy:/data/caddy/pki/authorities/local
|
|
# - ./docker/development/caddy/Caddyfile:/etc/caddy/Caddyfile
|
|
|
|
photoprism:
|
|
build: .
|
|
image: photoprism/photoprism:develop
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
- apparmor:unconfined
|
|
# Uncomment and edit the following line to set a specific user / group id:
|
|
# user: "1000:1000"
|
|
depends_on:
|
|
- photoprism-db
|
|
ports:
|
|
- "2342:2342" # Web Server (PhotoPrism)
|
|
- "2343:2343" # Acceptance Tests
|
|
volumes:
|
|
- ".:/go/src/github.com/photoprism/photoprism"
|
|
- "go-mod:/go/pkg/mod"
|
|
shm_size: "2gb"
|
|
environment:
|
|
TF_CPP_MIN_LOG_LEVEL: 0 # Show TensorFlow log messages for development
|
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
|
|
PHOTOPRISM_SITE_TITLE: "PhotoPrism"
|
|
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
|
|
PHOTOPRISM_SITE_DESCRIPTION: "Open-Source Personal Photo Management"
|
|
PHOTOPRISM_SITE_AUTHOR: "@browseyourlife"
|
|
PHOTOPRISM_DEBUG: "true"
|
|
PHOTOPRISM_READONLY: "false"
|
|
PHOTOPRISM_PUBLIC: "true"
|
|
PHOTOPRISM_EXPERIMENTAL: "true"
|
|
PHOTOPRISM_UPLOAD_NSFW: "false"
|
|
PHOTOPRISM_DETECT_NSFW: "false"
|
|
PHOTOPRISM_SERVER_MODE: "debug"
|
|
PHOTOPRISM_HTTP_HOST: "0.0.0.0"
|
|
PHOTOPRISM_HTTP_PORT: 2342
|
|
PHOTOPRISM_DATABASE_DRIVER: "mysql"
|
|
PHOTOPRISM_DATABASE_DSN: "root:photoprism@tcp(photoprism-db:4001)/photoprism?charset=utf8mb4,utf8&parseTime=true"
|
|
PHOTOPRISM_TEST_DRIVER: "sqlite"
|
|
PHOTOPRISM_TEST_DSN: ".test.db"
|
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism"
|
|
PHOTOPRISM_ASSETS_PATH: "/go/src/github.com/photoprism/photoprism/assets"
|
|
PHOTOPRISM_STORAGE_PATH: "/go/src/github.com/photoprism/photoprism/storage"
|
|
PHOTOPRISM_ORIGINALS_PATH: "/go/src/github.com/photoprism/photoprism/storage/originals"
|
|
PHOTOPRISM_IMPORT_PATH: "/go/src/github.com/photoprism/photoprism/storage/import"
|
|
PHOTOPRISM_THUMB_FILTER: "lanczos" # Resample filter, best to worst: blackman, lanczos, cubic, linear
|
|
PHOTOPRISM_THUMB_UNCACHED: "true" # Enable on-demand thumbnail rendering (high memory and cpu usage)
|
|
PHOTOPRISM_THUMB_SIZE: 2048 # Pre-rendered thumbnail size limit (default 2048, min 720, max 7680)
|
|
# PHOTOPRISM_THUMB_SIZE: 4096 # Retina 4K, DCI 4K (requires more storage); 7680 for 8K Ultra HD
|
|
PHOTOPRISM_THUMB_SIZE_UNCACHED: 7680 # On-demand rendering size limit (default 7680, min 720, max 7680)
|
|
PHOTOPRISM_JPEG_SIZE: 7680 # Size limit for converted image files in pixels (720-30000)
|
|
PHOTOPRISM_JPEG_QUALITY: 92 # Set to 95 for high-quality thumbnails (25-100)
|
|
PHOTOPRISM_DARKTABLE_PRESETS: "false" # Use darktable presets (disables concurrent raw to jpeg conversion)
|
|
PHOTOPRISM_SIDECAR_JSON: "true" # Read metadata from JSON sidecar files created by exiftool
|
|
PHOTOPRISM_SIDECAR_YAML: "true" # Backup photo metadata to YAML sidecar files
|
|
|
|
photoprism-db:
|
|
image: mariadb:10.5
|
|
command: mysqld --port=4001 --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=50
|
|
expose:
|
|
- "4001"
|
|
ports:
|
|
- "4001:4001" # MySQL (for tests)
|
|
volumes:
|
|
- "./scripts/reset-test-db.sql:/docker-entrypoint-initdb.d/reset-test-db.sql"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: photoprism
|
|
MYSQL_USER: photoprism
|
|
MYSQL_PASSWORD: photoprism
|
|
MYSQL_DATABASE: photoprism
|
|
|
|
webdav-dummy:
|
|
image: photoprism/webdav:20200825
|
|
|
|
volumes:
|
|
go-mod:
|
|
driver: local
|