name: immich services: immich: image: ghcr.io/immich-app/immich-server:release container_name: immich depends_on: - immich_db - immich_redis volumes: - immich_library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro environment: - DB_USERNAME=postgres - DB_DATABASE_NAME=immich - DB_PASSWORD=${DB_PASSWORD} networks: - default - proxy restart: unless-stopped healthcheck: disable: false labels: caddy: photos.ferngarden.net caddy.import: internal caddy.reverse_proxy: "{{upstreams 2283}}" devices: - /dev/dri:/dev/dri hostname: immich-server immich_db: image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1 container_name: immich_db volumes: - immich_db:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_USER=postgres - POSTGRES_DB=immich - POSTGRES_INITDB_ARGS='--data-checksums' networks: - default restart: always hostname: database immich_ml: image: ghcr.io/immich-app/immich-machine-learning:release container_name: immich_ml volumes: - immich_ml_cache:/cache networks: - default restart: unless-stopped healthcheck: disable: false hostname: immich-machine-learning immich_redis: image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884 container_name: immich_redis networks: - default restart: unless-stopped healthcheck: test: redis-cli ping || exit 1 hostname: redis networks: default: proxy: external: true volumes: immich_library: name: immich_library immich_ml_cache: name: immich_ml_cache immich_db: name: immich_db