version: '3.5' services: ## Local Test Build ## Docs: https://docs.photoprism.org/ photoprism-local: image: photoprism/photoprism:local security_opt: - seccomp:unconfined - apparmor:unconfined ports: - "2345:2342" # HTTP port (host:container) labels: - "traefik.enable=true" - "traefik.http.services.latest.loadbalancer.server.port=2342" - "traefik.http.routers.latest.entrypoints=websecure" - "traefik.http.routers.latest.rule=Host(`local.localssl.dev`)" - "traefik.http.routers.latest.tls.domains[0].main=localssl.dev" - "traefik.http.routers.latest.tls.domains[0].sans=*.localssl.dev" - "traefik.http.routers.latest.tls=true" environment: PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id PHOTOPRISM_GID: ${GID:-1000} # group id PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) ## Public server URL incl http:// or https:// and /path, :port is optional PHOTOPRISM_SITE_URL: "https://latest.localssl.dev/" PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" PHOTOPRISM_SITE_DESCRIPTION: "Open-Source Photo Management" PHOTOPRISM_SITE_AUTHOR: "@photoprism_app" PHOTOPRISM_DEBUG: "true" PHOTOPRISM_READONLY: "false" PHOTOPRISM_EXPERIMENTAL: "false" PHOTOPRISM_SERVER_MODE: "debug" PHOTOPRISM_HTTP_HOST: "0.0.0.0" PHOTOPRISM_HTTP_PORT: 2342 PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip) PHOTOPRISM_DATABASE_DRIVER: "mysql" PHOTOPRISM_DATABASE_SERVER: "mariadb:4001" PHOTOPRISM_DATABASE_NAME: "local" PHOTOPRISM_DATABASE_USER: "local" PHOTOPRISM_DATABASE_PASSWORD: "local" PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup PHOTOPRISM_DISABLE_BACKUPS: "false" # disables backing up albums and photo metadata to YAML files PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API PHOTOPRISM_DISABLE_PLACES: "false" # disables reverse geocoding and maps PHOTOPRISM_DISABLE_EXIFTOOL: "false" # disables creating JSON metadata sidecar files with ExifTool PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) PHOTOPRISM_UPLOAD_NSFW: "false" # allows uploads that MAY be offensive (no effect without TensorFlow) PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW files (reduces performance) PHOTOPRISM_THUMB_FILTER: "lanczos" # resample filter, best to worst: blackman, lanczos, cubic, linear PHOTOPRISM_THUMB_UNCACHED: "true" # enables 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: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100) TF_CPP_MIN_LOG_LEVEL: 0 # show TensorFlow log messages for development PHOTOPRISM_INIT: "gpu tensorflow" # Options: "update gpu tensorflow davfs clitools clean" PHOTOPRISM_FFMPEG_ENCODER: "nvidia" # Options: "software", "intel", "nvidia", "apple", "raspberry" PHOTOPRISM_STORAGE_PATH: "/photoprism/storage" PHOTOPRISM_ORIGINALS_PATH: "/photoprism/storage/originals" PHOTOPRISM_IMPORT_PATH: "/photoprism/storage/import" devices: - "/dev/dri:/dev/dri" # Intel QuickSync working_dir: "/photoprism" volumes: - "./storage:/photoprism/storage" ## Join shared "photoprism-develop" network networks: default: external: name: photoprism-develop