114 lines
3.8 KiB
Django/Jinja
114 lines
3.8 KiB
Django/Jinja
---
|
|
version: '3.7'
|
|
|
|
volumes:
|
|
photoprism-database:
|
|
name: datastore/appdata/photoprism/database
|
|
driver: glusterfs
|
|
photoprism-metadata:
|
|
name: datastore/appdata/photoprism/metadata
|
|
photoprism-originals:
|
|
name: datastore/media/photoprism
|
|
driver: glusterfs
|
|
photoprism-import:
|
|
name: datastore/media/upload
|
|
driver: glusterfs
|
|
|
|
networks:
|
|
photoprism:
|
|
internal: true
|
|
name: photoprism
|
|
driver: overlay
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 192.168.109.0/24
|
|
|
|
services:
|
|
app:
|
|
image: photoprism/photoprism:latest
|
|
hostname: app
|
|
depends_on:
|
|
- database
|
|
networks:
|
|
- photoprism
|
|
ports:
|
|
- published: 2342
|
|
target: 2342
|
|
protocol: tcp
|
|
mode: ingress
|
|
environment:
|
|
PHOTOPRISM_ADMIN_PASSWORD: "gm2auW34GNawZ8Dqiub8W8vOlvsHCnfj"
|
|
PHOTOPRISM_SITE_URL: "http://cluster.skylab.enp.one:2342/"
|
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000
|
|
PHOTOPRISM_HTTP_COMPRESSION: "gzip"
|
|
PHOTOPRISM_DEBUG: "false"
|
|
PHOTOPRISM_PUBLIC: "false"
|
|
PHOTOPRISM_READONLY: "false"
|
|
PHOTOPRISM_EXPERIMENTAL: "false"
|
|
PHOTOPRISM_DISABLE_CHOWN: "false"
|
|
PHOTOPRISM_DISABLE_WEBDAV: "false"
|
|
PHOTOPRISM_DISABLE_SETTINGS: "false"
|
|
PHOTOPRISM_DISABLE_TENSORFLOW: "false"
|
|
PHOTOPRISM_DISABLE_FACES: "false"
|
|
PHOTOPRISM_DISABLE_CLASSIFICATION: "false"
|
|
PHOTOPRISM_DARKTABLE_PRESETS: "false"
|
|
PHOTOPRISM_DETECT_NSFW: "false"
|
|
PHOTOPRISM_UPLOAD_NSFW: "true"
|
|
PHOTOPRISM_DATABASE_DRIVER: "mysql"
|
|
PHOTOPRISM_DATABASE_SERVER: "database:3306"
|
|
PHOTOPRISM_DATABASE_NAME: "photoprism"
|
|
PHOTOPRISM_DATABASE_USER: "photoprism"
|
|
PHOTOPRISM_DATABASE_PASSWORD: "KcIKhME9OwWKVz4tGyqI4VXzyDBs33Xp" # MariaDB or MySQL database user password
|
|
PHOTOPRISM_SITE_TITLE: "Skylab Images"
|
|
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
|
|
PHOTOPRISM_SITE_DESCRIPTION: ""
|
|
PHOTOPRISM_SITE_AUTHOR: "EN Paul"
|
|
HOME: "/photoprism"
|
|
PHOTOPRISM_UID: 1408
|
|
PHOTOPRISM_GID: 1408
|
|
## Hardware video transcoding config (optional)
|
|
# PHOTOPRISM_FFMPEG_BUFFERS: "64" # FFmpeg capture buffers (default: 32)
|
|
# PHOTOPRISM_FFMPEG_BITRATE: "32" # FFmpeg encoding bitrate limit in Mbit/s (default: 50)
|
|
# PHOTOPRISM_FFMPEG_ENCODER: "h264_v4l2m2m" # Use Video4Linux for AVC transcoding (default: libx264)
|
|
# PHOTOPRISM_FFMPEG_ENCODER: "h264_qsv" # Use Intel Quick Sync Video for AVC transcoding (default: libx264)
|
|
# PHOTOPRISM_INIT: "intel-graphics tensorflow-amd64-avx2" # Enable TensorFlow AVX2 & Intel Graphics support
|
|
## Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root)
|
|
# PHOTOPRISM_INIT: "tensorflow-amd64-avx2"
|
|
user: "1408:1408"
|
|
working_dir: "/photoprism"
|
|
volumes:
|
|
- type: volume
|
|
source: photoprism-originals
|
|
target: /photoprism/originals
|
|
read_only: false
|
|
- type: volume
|
|
source: photoprism-metadata
|
|
target: /photoprism/storage
|
|
read_only: false
|
|
- type: volume
|
|
source: photoprism-import
|
|
target: /photoprism/import
|
|
read_only: true
|
|
deploy:
|
|
replicas: 1
|
|
|
|
database:
|
|
image: mariadb:10.6
|
|
hostname: database
|
|
command: mysqld --innodb-buffer-pool-size=128M --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=120
|
|
networks:
|
|
- photoprism
|
|
volumes:
|
|
- type: volume
|
|
source: photoprism-database
|
|
target: /var/lib/mysql
|
|
read_only: false
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: insecure
|
|
MYSQL_DATABASE: photoprism
|
|
MYSQL_USER: photoprism
|
|
MYSQL_PASSWORD: KcIKhME9OwWKVz4tGyqI4VXzyDBs33Xp
|
|
deploy:
|
|
replicas: 1
|