Photoprism

AI-Powered Photos App for the Decentralized Web.

# file: `docker-compose.yml`

services:
  photoprism:
    image: ${HONEYPI_IMAGE_REGISTRY_HOST:-docker.io}/photoprism/photoprism:${HONEYPI_PHOTOPRISM_VERSION:-latest}
    container_name: photoprism
    restart: unless-stopped
    stop_grace_period: 10s
    security_opt:
      - seccomp:unconfined
      - apparmor:unconfined
    working_dir: /photoprism
    ports:
      - ${HONEYPI_PHOTOPRISM_PORT:-2342}:2342
    volumes:
      - ${HONEYPI_DATA}/photoprism/originals:/photoprism/originals
      - ${HONEYPI_DATA}/photoprism/storage:/photoprism/storage
    environment:
      - PHOTOPRISM_ADMIN_USER=${HONEYPI_PHOTOPRISM_ADMIN_USER:-admin}
      - PHOTOPRISM_ADMIN_PASSWORD=${HONEYPI_PHOTOPRISM_PASSWORD}
      - PHOTOPRISM_AUTH_MODE=${HONEYPI_PHOTOPRISM_AUTH_MODE:-password}
      - PHOTOPRISM_DETECT_NSFW=${HONEYPI_PHOTOPRISM_DETECT_NSFW:-false}
      - PHOTOPRISM_UPLOAD_NSFW=${HONEYPI_PHOTOPRISM_UPLOAD_NSFW:-true}
      - PHOTOPRISM_DATABASE_DRIVER=${HONEYPI_PHOTOPRISM_DB_DRIVER:-mysql}
      - PHOTOPRISM_DATABASE_SERVER=${HONEYPI_MARIADB_HOST:-localhost}
      - PHOTOPRISM_DATABASE_NAME=${HONEYPI_PHOTOPRISM_DB_NAME:-photoprism}
      - PHOTOPRISM_DATABASE_USER=${HONEYPI_MARIADB_USER:-admin}
      - PHOTOPRISM_DATABASE_PASSWORD=${HONEYPI_MARIADB_PASSWORD}
      - PHOTOPRISM_OIDC_URI=${HONEYPI_PHOTOPRISM_OIDC_URI}
      - PHOTOPRISM_OIDC_CLIENT=${HONEYPI_PHOTOPRISM_OIDC_CLIENT}
      - PHOTOPRISM_OIDC_SECRET=${HONEYPI_PHOTOPRISM_OIDC_SECRET}
      - PHOTOPRISM_OIDC_PROVIDER=${HONEYPI_PHOTOPRISM_OIDC_PROVIDER}
      - PHOTOPRISM_OIDC_REDIRECT=${HONEYPI_PHOTOPRISM_OIDC_REDIRECT}
      - PHOTOPRISM_OIDC_REGISTER=${HONEYPI_PHOTOPRISM_OIDC_REGISTER}
      - PHOTOPRISM_OIDC_WEBDAV=${HONEYPI_PHOTOPRISM_OIDC_WEBDAV}
      - PHOTOPRISM_APP_MODE=${HONEYPI_PHOTOPRISM_APP_MODE}
      - PHOTOPRISM_APP_ICON=${HONEYPI_PHOTOPRISM_APP_ICON}
      - PHOTOPRISM_APP_COLOR=${HONEYPI_PHOTOPRISM_APP_COLOR}
      - PHOTOPRISM_LEGAL_INFO=${HONEYPI_PHOTOPRISM_LEGAL_INFO}
      - PHOTOPRISM_LEGAL_URL=${HONEYPI_PHOTOPRISM_LEGAL_URL}
      - PHOTOPRISM_WALLPAPER_URI=${HONEYPI_PHOTOPRISM_WALLPAPER_URI}
      - PHOTOPRISM_CORS_ORIGIN=${HONEYPI_PHOTOPRISM_CORS_ORIGIN}
      - PHOTOPRISM_SITE_URL=${HONEYPI_PHOTOPRISM_SITE_URL}
      - PHOTOPRISM_ORIGINALS_LIMIT=${HONEYPI_PHOTOPRISM_ORIGINALS_LIMIT:-5000}
    labels:
      - traefik.enable=${HONEYPI_PHOTOPRISM_TRAEFIK_ENABLE:-false}
      - traefik.http.routers.photoprism.rule=Host(`${HONEYPI_PHOTOPRISM_HOST}`)
      - traefik.http.routers.photoprism.entrypoints=websecure
      - traefik.http.routers.photoprism.tls.certresolver=resolver
      - traefik.http.routers.photoprism.service=photoprism
      - traefik.http.services.photoprism.loadbalancer.server.port=2342