This repository has been archived on 2026-08-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
infra/stacks/photos.opytex.org/docker-compose.yml

85 lines
2.3 KiB
YAML

# 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