services: immich-redis: image: redis container_name: Immich-REDIS hostname: immich-redis security_opt: - no-new-privileges:true healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] user: 1000:10 networks: - caddyNet environment: - TZ=Europe/London volumes: - /volume1/docker/immich/redis:/data:rw restart: unless-stopped immich-db: image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0 container_name: Immich-DB hostname: immich-db security_opt: - no-new-privileges:true env_file: - .env healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "immich", "-U", "immichuser"] interval: 10s timeout: 5s retries: 5 networks: - caddyNet volumes: - /volume1/docker/immich/db:/var/lib/postgresql/data:rw - ${UPLOAD_LOCATION}:/data - ${THUMB_LOCATION}:/data/thumbs #/usr/src/app/upload/thumbs - ${PROFILE_LOCATION}:/data/profile #/usr/src/app/upload/profile - ${ENCODED_VIDEO_LOCATION}:/data/encoded-video #/usr/src/app/upload/encoded-video - ${IMMICH_BACKUP_LOCATION}:/data/backups #//usr/src/app/upload/backups - ${LIBRARY_LOC_FAMILY}:/mnt/media/familyPhotos:rw - ${LIBRARY_LOC_OTHERSHARED}:/mnt/media/otherSharedPhotos:rw - /volume1/docker/immich/cache:/cache:rw - /volume1/docker/immich/matplotlib:/matplotlib:rw environment: - TZ=Europe/London - POSTGRES_DB=immich - POSTGRES_USER=immichuser - POSTGRES_PASSWORD=immichpw restart: unless-stopped immich-server: image: ghcr.io/immich-app/immich-server:release container_name: Immich-SERVER hostname: immich-server user: 1000:10 security_opt: - no-new-privileges:true env_file: - .env ports: - 8212:2283 networks: - caddyNet volumes: - ${UPLOAD_LOCATION}:/data - ${THUMB_LOCATION}:/data/thumbs - ${PROFILE_LOCATION}:/data/profile - ${ENCODED_VIDEO_LOCATION}:/data/encoded-video - ${IMMICH_BACKUP_LOCATION}:/data/backups - ${LIBRARY_LOC_FAMILY}:/mnt/media/familyPhotos:rw - ${LIBRARY_LOC_OTHERSHARED}:/mnt/media/otherSharedPhotos:rw - /volume1/docker/immich/cache:/cache:rw restart: unless-stopped depends_on: immich-redis: condition: service_healthy immich-db: condition: service_started immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:release container_name: Immich-LEARNING hostname: immich-machine-learning user: 1000:10 security_opt: - no-new-privileges:true env_file: - .env networks: - caddyNet volumes: - ${UPLOAD_LOCATION}:/data - ${THUMB_LOCATION}:/data/thumbs - ${PROFILE_LOCATION}:/data/profile - ${ENCODED_VIDEO_LOCATION}:/data/encoded-video - ${IMMICH_BACKUP_LOCATION}:/data/backups - ${LIBRARY_LOC_FAMILY}:/mnt/media/familyPhotos:rw - ${LIBRARY_LOC_OTHERSHARED}:/mnt/media/otherSharedPhotos:rw - /volume1/docker/immich/cache:/cache:rw - /volume1/docker/immich/matplotlib:/matplotlib:rw environment: - MPLCONFIGDIR=/matplotlib restart: unless-stopped depends_on: immich-db: condition: service_started # Other services... power-tools: container_name: immich_power_tools image: ghcr.io/varun-raj/immich-power-tools:latest restart: unless-stopped networks: - caddyNet ports: - ":3000" env_file: - .env networks: caddyNet: external: true