Installation

See this: https://docs.photoprism.org/getting-started/docker-compose/

sudo wget https://dl.photoprism.org/docker/docker-compose.yml
sudo vim docker-compose.yml
sudo docker-compose up -d
sudo ufw allow 1234
sudo chown -R justin:justin photoprism/

Photos only need read-access. Upon initialization as root, the directory owner for the storage directory needs to be changed to the specified user, before restarting the docker container again. No need backend database.

version: '3.5'

services:
  photoprism:
    image: photoprism/photoprism:latest
    container_name: photoprism
    # restart: unless-stopped    # Restart loop is almost guaranteed in first-time setup
    security_opt:
      - seccomp:unconfined
      - apparmor:unconfined
    ports:
      - "1234:2342"
    environment:
      PHOTOPRISM_ADMIN_PASSWORD: "mypassword"
      PHOTOPRISM_ORIGINALS_LIMIT: 5000               # File size limit for originals in MB (increase for high-res video)
      PHOTOPRISM_HTTP_COMPRESSION: "gzip"            # Improves transfer speed and bandwidth utilization (none or gzip)
      PHOTOPRISM_DEBUG: "false"                      # Run in debug mode (shows additional log messages)
      PHOTOPRISM_PUBLIC: "false"                     # No authentication required (disables password protection)
      PHOTOPRISM_READONLY: "false"                   # Don't modify originals directory (reduced functionality)
      PHOTOPRISM_EXPERIMENTAL: "false"               # Enables experimental features
      PHOTOPRISM_DISABLE_WEBDAV: "true"              # Disables built-in WebDAV server
      PHOTOPRISM_DISABLE_SETTINGS: "false"           # Disables Settings in Web UI
      PHOTOPRISM_DISABLE_TENSORFLOW: "true"          # Disables using TensorFlow for image classification
      PHOTOPRISM_DARKTABLE_PRESETS: "false"
      PHOTOPRISM_DETECT_NSFW: "false"
      PHOTOPRISM_UPLOAD_NSFW: "true"
      PHOTOPRISM_SITE_URL: "http://localhost:1234/"  # Public PhotoPrism URL
      PHOTOPRISM_SITE_TITLE: "PhotoPrism"
      PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
      PHOTOPRISM_SITE_DESCRIPTION: ""
      PHOTOPRISM_SITE_AUTHOR: ""
    user: "1000:1000"
    volumes:
      - "~/Pictures:/photoprism/originals"  # this points to /root/Pictures, not /home/[USER]/Pictures:
      - "./storage:/photoprism/storage"     # permanent storage/caching