feat(stacks): migrate photos.opytex.org
This commit is contained in:
84
stacks/photos.opytex.org/docker-compose.yml
Normal file
84
stacks/photos.opytex.org/docker-compose.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user