92 lines
4 KiB
Django/Jinja
92 lines
4 KiB
Django/Jinja
version: '3.5'
|
|
# ------------------------------------------------------------------
|
|
# DOCKER COMPOSE COMMAND REFERENCE
|
|
# ------------------------------------------------------------------
|
|
# Start | docker-compose up -d
|
|
# Stop | docker-compose stop
|
|
# Update | docker-compose pull
|
|
# Logs | docker-compose logs --tail=25 -f
|
|
# Terminal | docker-compose exec photoprism bash
|
|
# Help | docker-compose exec photoprism photoprism help
|
|
# Config | docker-compose exec photoprism photoprism config
|
|
# Reset | docker-compose exec photoprism photoprism reset
|
|
# Backup | docker-compose exec photoprism photoprism backup -a -i
|
|
# Restore | docker-compose exec photoprism photoprism restore -a -i
|
|
# Index | docker-compose exec photoprism photoprism index
|
|
# Reindex | docker-compose exec photoprism photoprism index -a
|
|
# Import | docker-compose exec photoprism photoprism import
|
|
# -------------------------------------------------------------------
|
|
services:
|
|
photoprism:
|
|
# Use photoprism/photoprism:preview instead for testing preview builds:
|
|
image: photoprism/photoprism:latest
|
|
container_name: photoprism-frontend
|
|
restart: always
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
- apparmor:unconfined
|
|
ports:
|
|
- 2342:2342
|
|
environment:
|
|
PHOTOPRISM_ADMIN_PASSWORD: "{{ lookup('keepass', 'photoprism_admin_password', 'password') }}"
|
|
PHOTOPRISM_HTTP_PORT: 2342
|
|
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # none or gzip
|
|
PHOTOPRISM_DEBUG: "false"
|
|
PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
|
|
PHOTOPRISM_READONLY: "true" # Don't modify originals directory (reduced functionality)
|
|
PHOTOPRISM_EXPERIMENTAL: "false"
|
|
PHOTOPRISM_DISABLE_WEBDAV: "true"
|
|
PHOTOPRISM_DISABLE_SETTINGS: "false"
|
|
PHOTOPRISM_DISABLE_TENSORFLOW: "false"
|
|
PHOTOPRISM_DARKTABLE_PRESETS: "false"
|
|
PHOTOPRISM_DETECT_NSFW: "true"
|
|
PHOTOPRISM_UPLOAD_NSFW: "true"
|
|
PHOTOPRISM_DATABASE_DRIVER: "mysql"
|
|
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306"
|
|
PHOTOPRISM_DATABASE_NAME: "photoprism"
|
|
PHOTOPRISM_DATABASE_USER: "photoprism"
|
|
PHOTOPRISM_DATABASE_PASSWORD: "{{ lookup('keepass', 'photoprism_database_password', 'password') }}"
|
|
PHOTOPRISM_SITE_URL: "http://docker10.grote.lan:2342/"
|
|
PHOTOPRISM_SITE_TITLE: "PhotoPrism"
|
|
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
|
|
PHOTOPRISM_SITE_DESCRIPTION: ""
|
|
PHOTOPRISM_SITE_AUTHOR: "mgrote"
|
|
# You may optionally set a user / group id using environment variables if your Docker version or NAS does not
|
|
# support this natively (see next example):
|
|
# UID: 1000
|
|
# GID: 1000
|
|
# UMASK: 0000
|
|
# Uncomment and edit the following line to set a specific user / group id (native):
|
|
# user: "1000:1000"
|
|
volumes:
|
|
- "smb_bilder:/photoprism/originals/"
|
|
- "storage:/photoprism/storage"
|
|
# hier alle Bilder hinzufügen, in einem Ordner
|
|
|
|
mariadb:
|
|
image: mariadb:10.5
|
|
container_name: photoprism-db
|
|
restart: always
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
- apparmor:unconfined
|
|
command: mysqld --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
|
|
volumes: # Don't remove permanent storage for index database files!
|
|
- "database:/var/lib/mysql"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: {{ lookup('keepass', 'photoprism_mysql_root_password', 'password') }}
|
|
MYSQL_DATABASE: photoprism
|
|
MYSQL_USER: photoprism
|
|
MYSQL_PASSWORD: {{ lookup('keepass', 'photoprism_database_password', 'password') }}
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable="false"
|
|
|
|
volumes:
|
|
storage:
|
|
database:
|
|
smb_bilder:
|
|
driver: local
|
|
driver_opts:
|
|
type: "cifs"
|
|
o: "user=photoprism,password={{ lookup('keepass', 'photoprism_fileserver_cifs_password', 'password') }}"
|
|
device: "//192.168.2.36/bilder"
|