skylab
/
skylab-ansible
Archived
2
0
Fork 0
This repository has been archived on 2023-05-19. You can view files and clone it, but cannot push or open issues or pull requests.
skylab-ansible/skylab/core/playbooks/templates/docker-compose/photoprism.yaml.j2

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