app-store/apps/photoprism/docker-compose.yml

84 lines
3.6 KiB
YAML
Raw Normal View History

2022-07-28 17:46:12 +00:00
version: "3.7"
services:
photoprism:
# TODO: Special image for arm/v7 is available
image: photoprism/photoprism:240420
2022-07-28 17:46:12 +00:00
container_name: photoprism
depends_on:
- photoprism-db
restart: unless-stopped
ports:
- "${APP_PORT}:2342"
environment:
PHOTOPRISM_ADMIN_PASSWORD: ${PHOTOPRISM_ADMIN_PASSWORD}
2022-09-09 20:43:16 +00:00
PHOTOPRISM_SITE_URL: "${APP_PROTOCOL:-http}://${APP_DOMAIN}/"
2022-07-28 17:46:12 +00:00
PHOTOPRISM_ORIGINALS_LIMIT: 5000
PHOTOPRISM_HTTP_COMPRESSION: "gzip"
PHOTOPRISM_LOG_LEVEL: "info"
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_DISABLE_RAW: "false"
PHOTOPRISM_RAW_PRESETS: "false"
PHOTOPRISM_JPEG_QUALITY: 85
PHOTOPRISM_DETECT_NSFW: "false"
PHOTOPRISM_UPLOAD_NSFW: "true"
PHOTOPRISM_DATABASE_DRIVER: "mysql"
PHOTOPRISM_DATABASE_SERVER: "photoprism-db:3306"
PHOTOPRISM_DATABASE_NAME: "photoprism"
PHOTOPRISM_DATABASE_USER: "photoprism"
2022-09-09 19:23:26 +00:00
PHOTOPRISM_DATABASE_PASSWORD: "${DB_PASSWORD}"
2022-07-28 17:46:12 +00:00
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
working_dir: "/photoprism"
volumes:
- "${ROOT_FOLDER_HOST}/media/data/images:/photoprism/originals"
2022-07-28 17:46:12 +00:00
- "${APP_DATA_DIR}/data/photoprism/storage:/photoprism/storage"
networks:
- tipi_main_network
2022-09-09 19:23:26 +00:00
labels:
feat: app configs local domains (#713) * feat(pairdrop): change config to support local domain * feat(paperless-ngx): change config to support local domain * feat(peppermint): change config to support local domain * feat(photoprism): change config to support local domain * feat(pihole): change config to support local domain * feat(plausible): change config to support local domain * feat(plex): change config to support local domain * feat(podfetch): change config to support local domain * feat(portainer): change config to support local domain * feat(privatebin): change config to support local domain * feat(prowlarr): change config to support local domain * feat(proxitok): change config to support local domain * feat(qbittorrent): change config to support local domain * feat(radarr): change config to support local domain * feat(readarr): change config to support local domain * feat(resilio-sync): change config to support local domain * feat(romm): change config to support local domain * feat(rss): change config to support local domain * feat(sabnzbd): change config to support local domain * feat(searxng): change config to support local domain * feat(send): change config to support local domain * feat(simplex-smp): change config to support local domain * feat(sonarr): change config to support local domain * feat(syncthing): change config to support local domain * feat(tasks-md): change config to support local domain * feat(tautulli): change config to support local domain * feat(teddit): change config to support local domain * feat(transmission): change config to support local domain * feat(tubearchivist): change config to support local domain * feat(umami): change config to support local domain * feat(uptime-kuma): change config to support local domain * feat(vaultwarden): change config to support local domain * feat(vikunja): change config to support local domain * feat(wg-easy): change config to support local domain * feat(wikijs): change config to support local domain * feat(wizarr): change config to support local domain * feat(your-spotify): change config to support local domain * chore: labels formatting issues
2023-06-18 16:02:29 +00:00
# Main
traefik.enable: true
traefik.http.middlewares.photoprism-web-redirect.redirectscheme.scheme: https
traefik.http.services.photoprism.loadbalancer.server.port: 2342
# Web
traefik.http.routers.photoprism-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.photoprism-insecure.entrypoints: web
traefik.http.routers.photoprism-insecure.service: photoprism
traefik.http.routers.photoprism-insecure.middlewares: photoprism-web-redirect
# Websecure
2022-09-09 19:23:26 +00:00
traefik.http.routers.photoprism.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.photoprism.entrypoints: websecure
traefik.http.routers.photoprism.service: photoprism
traefik.http.routers.photoprism.tls.certresolver: myresolver
feat: app configs local domains (#713) * feat(pairdrop): change config to support local domain * feat(paperless-ngx): change config to support local domain * feat(peppermint): change config to support local domain * feat(photoprism): change config to support local domain * feat(pihole): change config to support local domain * feat(plausible): change config to support local domain * feat(plex): change config to support local domain * feat(podfetch): change config to support local domain * feat(portainer): change config to support local domain * feat(privatebin): change config to support local domain * feat(prowlarr): change config to support local domain * feat(proxitok): change config to support local domain * feat(qbittorrent): change config to support local domain * feat(radarr): change config to support local domain * feat(readarr): change config to support local domain * feat(resilio-sync): change config to support local domain * feat(romm): change config to support local domain * feat(rss): change config to support local domain * feat(sabnzbd): change config to support local domain * feat(searxng): change config to support local domain * feat(send): change config to support local domain * feat(simplex-smp): change config to support local domain * feat(sonarr): change config to support local domain * feat(syncthing): change config to support local domain * feat(tasks-md): change config to support local domain * feat(tautulli): change config to support local domain * feat(teddit): change config to support local domain * feat(transmission): change config to support local domain * feat(tubearchivist): change config to support local domain * feat(umami): change config to support local domain * feat(uptime-kuma): change config to support local domain * feat(vaultwarden): change config to support local domain * feat(vikunja): change config to support local domain * feat(wg-easy): change config to support local domain * feat(wikijs): change config to support local domain * feat(wizarr): change config to support local domain * feat(your-spotify): change config to support local domain * chore: labels formatting issues
2023-06-18 16:02:29 +00:00
# Local domain
traefik.http.routers.photoprism-local-insecure.rule: Host(`photoprism.${LOCAL_DOMAIN}`)
traefik.http.routers.photoprism-local-insecure.entrypoints: web
traefik.http.routers.photoprism-local-insecure.service: photoprism
traefik.http.routers.photoprism-local-insecure.middlewares: photoprism-web-redirect
# Local domain secure
traefik.http.routers.photoprism-local.rule: Host(`photoprism.${LOCAL_DOMAIN}`)
traefik.http.routers.photoprism-local.entrypoints: websecure
traefik.http.routers.photoprism-local.service: photoprism
traefik.http.routers.photoprism-local.tls: true
2022-07-28 17:46:12 +00:00
photoprism-db:
restart: unless-stopped
2022-09-09 19:23:26 +00:00
image: mariadb:10.8
2022-07-28 17:46:12 +00:00
container_name: photoprism-db
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
volumes:
- "${APP_DATA_DIR}/data/mariadb:/var/lib/mysql"
environment:
MARIADB_DATABASE: "photoprism"
MARIADB_USER: "photoprism"
2022-09-09 19:23:26 +00:00
MARIADB_PASSWORD: "${DB_PASSWORD}"
MARIADB_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
2022-07-28 17:46:12 +00:00
networks:
- tipi_main_network