name: immich networks: proxy: external: true default: services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v2.2.3 volumes: - /mnt/storage/protected/docker/data/immich/library:/usr/src/app/upload - /mnt/storage/protected/docker/cache/immich/encoded-video:/usr/src/app/upload/encoded-video - /mnt/storage/protected/docker/cache/immich/thumbs:/usr/src/app/upload/thumbs - /etc/localtime:/etc/localtime:ro networks: default: proxy: depends_on: - redis - database healthcheck: disable: false labels: - "traefik.enable=true" - "traefik.http.routers.immich.entrypoints=http" - "traefik.http.routers.immich.rule=Host(`immich.apps.konillon.com`)" - "traefik.http.middlewares.immich-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.immich.middlewares=immich-https-redirect" - "traefik.http.routers.immich-secure.entrypoints=https" - "traefik.http.routers.immich-secure.rule=Host(`immich.apps.konillon.com`)" - "traefik.http.routers.immich-secure.tls=true" - "traefik.http.routers.immich-secure.service=immich" - "traefik.http.services.immich.loadbalancer.server.port=2283" - "traefik.docker.network=proxy" environment: DB_PASSWORD: DB_PASSWORD DB_USERNAME: postgres DB_DATABASE_NAME: immich immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:v2.2.3 volumes: - model-cache:/cache networks: default: healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1 healthcheck: test: redis-cli ping || exit 1 networks: default: database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 environment: POSTGRES_PASSWORD: DB_PASSWORD POSTGRES_USER: postgres POSTGRES_DB: immich POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - /mnt/storage/protected/docker/data/immich/postgres:/var/lib/postgresql/data networks: default: volumes: model-cache: