-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Docker: Update docker-compose.yml config examples
Signed-off-by: Michael Mayer <michael@photoprism.app>
- Loading branch information
Showing
20 changed files
with
693 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
version: '3.5' | ||
|
||
# Example Docker Compose config file for PhotoPrism® Plus (Raspberry Pi 3/4 and other ARM64-based devices) | ||
# | ||
# Note: | ||
# - You have to boot your Raspberry Pi 3/4 with the parameter "arm_64bit=1" in config.txt to use our ARM64 (64-bit) image. | ||
# An "exec format" error will occur otherwise. | ||
# - Try explicitly pulling the ARM64 version if you've booted your device with the "arm_64bit=1" flag and you see | ||
# the "no matching manifest" error on Raspberry Pi OS (Raspbian). See documentation for details. | ||
# - Use https://dl.photoprism.app/docker/armv7/docker-compose.yml to run PhotoPrism and MariaDB on ARMv7-based devices | ||
# as well as Raspberry Pi OS (Raspbian) installations without 64-bit support. | ||
# - Hardware transcoding is only available to members due to the high maintenance and support effort. | ||
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected | ||
# restarts ("crashes"), for example, when the indexer temporarily needs more memory to process large files. | ||
# - In case you see Docker errors related to "cgroups", try adding the following parameters to /boot/firmware/cmdline.txt | ||
# or /boot/cmdline.txt (file location depends on the OS in use): cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1 | ||
# - If you install PhotoPrism on a public server outside your home network, please always run it behind a secure | ||
# HTTPS reverse proxy such as Traefik or Caddy. Your files and passwords will otherwise be transmitted | ||
# in clear text and can be intercepted by anyone, including your provider, hackers, and governments: | ||
# https://docs.photoprism.app/getting-started/proxies/traefik/ | ||
# | ||
# Setup Guides: | ||
# - https://www.photoprism.app/plus/kb/quickstart | ||
# - https://www.photoprism.app/plus/kb/activation | ||
# - https://docs.photoprism.app/getting-started/docker-compose/ | ||
# - https://docs.photoprism.app/getting-started/raspberry-pi/ | ||
# | ||
# Troubleshooting Checklists: | ||
# - https://docs.photoprism.app/getting-started/troubleshooting/ | ||
# - https://docs.photoprism.app/getting-started/troubleshooting/docker/ | ||
# - https://docs.photoprism.app/getting-started/troubleshooting/mariadb/ | ||
# | ||
# CLI Commands: | ||
# - https://docs.photoprism.app/getting-started/docker-compose/#command-line-interface | ||
# | ||
# All commands may have to be prefixed with "sudo" when not running as root. | ||
# This will point the home directory shortcut ~ to /root in volume mounts. | ||
|
||
services: | ||
photoprism: | ||
## Use photoprism/photoprism-plus:preview for testing preview builds: | ||
image: photoprism/photoprism-plus:latest | ||
## Don't enable automatic restarts until PhotoPrism has been properly configured and tested! | ||
## If the service gets stuck in a restart loop, this points to a memory, filesystem, network, or database issue: | ||
## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors | ||
# restart: unless-stopped | ||
stop_grace_period: 10s | ||
depends_on: | ||
- mariadb | ||
security_opt: | ||
- seccomp:unconfined | ||
- apparmor:unconfined | ||
ports: | ||
- "2342:2342" # HTTP port (host:container) | ||
environment: | ||
PHOTOPRISM_ADMIN_USER: "admin" # admin login username | ||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) | ||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) | ||
PHOTOPRISM_SITE_URL: "http://photoprism.me:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" | ||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video) | ||
PHOTOPRISM_HTTP_COMPRESSION: "none" # improves transfer speed and bandwidth utilization (none or gzip) | ||
PHOTOPRISM_WORKERS: 2 # limits the number of indexing workers to reduce system load | ||
PHOTOPRISM_LOG_LEVEL: "info" # log level: trace, debug, info, warning, error, fatal, or panic | ||
PHOTOPRISM_READONLY: "false" # do not modify originals directory (reduced functionality) | ||
PHOTOPRISM_EXPERIMENTAL: "false" # enables experimental features | ||
PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup | ||
PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server | ||
PHOTOPRISM_DISABLE_SETTINGS: "false" # disables Settings in Web UI | ||
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow | ||
PHOTOPRISM_DISABLE_FACES: "false" # disables face detection and recognition (requires TensorFlow) | ||
PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # disables image classification (requires TensorFlow) | ||
PHOTOPRISM_DISABLE_VECTORS: "false" # disables vector graphics support | ||
PHOTOPRISM_DISABLE_RAW: "false" # disables indexing and conversion of RAW images | ||
PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW images (reduces performance) | ||
PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100) | ||
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) | ||
PHOTOPRISM_UPLOAD_NSFW: "true" # allow uploads that MAY be offensive | ||
# PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server | ||
PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance | ||
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port) | ||
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name | ||
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name | ||
PHOTOPRISM_DATABASE_PASSWORD: "insecure" # MariaDB or MySQL database user password | ||
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" | ||
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description | ||
PHOTOPRISM_SITE_AUTHOR: "" # meta site author | ||
## Run/install on first startup (options: update, gpu, tensorflow, davfs, clean): | ||
# PHOTOPRISM_INIT: "update clean" | ||
## Hardware Video Transcoding: | ||
# PHOTOPRISM_FFMPEG_ENCODER: "raspberry" # FFmpeg encoder ("software", "intel", "nvidia", "apple", "raspberry") | ||
# PHOTOPRISM_FFMPEG_BITRATE: "32" # FFmpeg encoding bitrate limit in Mbit/s (default: 50) | ||
## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200): | ||
# PHOTOPRISM_UID: 1000 | ||
# PHOTOPRISM_GID: 1000 | ||
# PHOTOPRISM_UMASK: 0000 | ||
## Share hardware devices with FFmpeg and TensorFlow (optional): | ||
## See: https://www.raspberrypi.com/documentation/accessories/camera.html#driver-differences-when-using-libcamera-or-the-legacy-stack | ||
# devices: | ||
# - "/dev/video11:/dev/video11" # Video4Linux Video Encode Device (h264_v4l2m2m) | ||
working_dir: "/photoprism" # do not change or remove | ||
## Storage Folders: "~" is a shortcut for your home directory, "." for the current directory | ||
volumes: | ||
# "/host/folder:/photoprism/folder" # Example | ||
- "~/Pictures:/photoprism/originals" # Original media files (DO NOT REMOVE) | ||
# - "/example/family:/photoprism/originals/family" # *Additional* media folders can be mounted like this | ||
# - "~/Import:/photoprism/import" # *Optional* base folder from which files can be imported to originals | ||
- "./storage:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE) | ||
|
||
## Database Server (recommended) | ||
## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql | ||
mariadb: | ||
image: arm64v8/mariadb:10.11 # ARM64 IMAGE ONLY, DOES NOT WORK ON ARMv7, AMD or Intel | ||
## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue: | ||
## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors | ||
restart: unless-stopped | ||
stop_grace_period: 5s | ||
security_opt: | ||
- seccomp:unconfined | ||
- apparmor:unconfined | ||
command: mysqld --innodb-buffer-pool-size=256M --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 | ||
## Never store database files on an unreliable device such as a USB flash drive, an SD card, or a shared network folder: | ||
volumes: | ||
- "./database:/var/lib/mysql" # DO NOT REMOVE | ||
environment: | ||
MARIADB_AUTO_UPGRADE: "1" | ||
MARIADB_INITDB_SKIP_TZINFO: "1" | ||
MARIADB_DATABASE: "photoprism" | ||
MARIADB_USER: "photoprism" | ||
MARIADB_PASSWORD: "insecure" | ||
MARIADB_ROOT_PASSWORD: "insecure" | ||
|
||
## Watchtower upgrades services automatically (optional) | ||
## see https://docs.photoprism.app/getting-started/updates/#watchtower | ||
# | ||
# watchtower: | ||
# restart: unless-stopped | ||
# image: containrrr/watchtower | ||
# environment: | ||
# WATCHTOWER_CLEANUP: "true" | ||
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours | ||
# volumes: | ||
# - "/var/run/docker.sock:/var/run/docker.sock" | ||
# - "~/.docker/config.json:/config.json" # optional, for authentication if you have a Docker Hub account |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.