# Le nom de projet ne suit PAS le dossier : les volumes existants sont # préfixés `immich_`. Retirer cette ligne rendrait la photothèque invisible. name: immich services: immich-server: image: ghcr.io/immich-app/immich-server:v2.2.1 container_name: immich_server restart: always volumes: - immich_upload:/data - /etc/localtime:/etc/localtime:ro env_file: - env_file environment: DB_PASSWORD: ${DB_PASSWORD:?} depends_on: - redis - database healthcheck: disable: false networks: - default - traefik-proxy labels: - traefik.enable=true - traefik.docker.network=traefik-proxy - traefik.http.routers.immich.entrypoints=web-secure - traefik.http.routers.immich.rule=Host(`photos.opytex.org`) - traefik.http.routers.immich.tls.certresolver=letsencrypt - traefik.http.services.immich.loadbalancer.server.port=2283 immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:v2.2.1 container_name: immich_machine_learning restart: always volumes: - model-cache:/cache env_file: - env_file healthcheck: disable: false networks: - default redis: image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa container_name: immich_redis restart: always healthcheck: test: redis-cli ping || exit 1 networks: - default database: image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 container_name: immich_postgres restart: always environment: # En dur : `env_file:` n'alimente pas l'interpolation ${...}, ces trois # valeurs doivent être lisibles ici. Seul le mot de passe vient de sops. POSTGRES_USER: postgres POSTGRES_DB: immich POSTGRES_PASSWORD: ${DB_PASSWORD:?} POSTGRES_INITDB_ARGS: "--data-checksums" volumes: - db:/var/lib/postgresql/data shm_size: 128mb networks: - default labels: backup.enable: true backup.type: postgres volumes: model-cache: immich_upload: labels: backup.enable: true db: networks: traefik-proxy: external: true