feat(stacks): migrate photos.opytex.org

This commit is contained in:
2026-08-13 16:18:52 +02:00
parent 9e109095f0
commit fbb521594d
3 changed files with 118 additions and 0 deletions

View 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

View File

@@ -0,0 +1,9 @@
# Immich — configuration non sensible.
# DB_PASSWORD est dans secrets.env.yaml.
#
# UPLOAD_LOCATION et DB_DATA_LOCATION, présents dans l'ancien .env, ne sont
# pas repris : ce compose utilise des volumes nommés, pas les bind mounts du
# compose amont, et ces deux variables n'étaient donc lues par personne.
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

View File

@@ -0,0 +1,25 @@
DB_PASSWORD: ENC[AES256_GCM,data:Qn9XIoBiNCmc+4UZNfXm115/rF04lEJBO62JRNLHtfOs9WoTaz0K06LgPNFL88YCI1A=,iv:kvMJfhv30BJS6d8U9IDppki5ua0sTt6dbbfcWzJI18o=,tag:mNVCECKVHkH6bS7JmaFNhw==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUW0wOGFSUGUwRVVUeDRF
UTduTEIxMGdwcW1ieEpja3M4amV6SVJoMUhrCjlGZVFGMFc5dDRQM0dOMytPeEdp
RXZqbHpJV2prYjRybG0wQ2JkWnh3S0UKLS0tIFN0U3NERjdOU3FxdlBxS2NJdU80
NlRTUWZCd3lnc2lseEZJRjlBMTZFQW8KqyNE3WGK7ExTQ+CYvW0H4U5NMbNQdyaX
Tzk0/3X3r2jCBRwVl1Tdj2OL65+SA0mDjnjyD0J5YsC0JB33SIeUaQ==
-----END AGE ENCRYPTED FILE-----
recipient: age18m2zl3pwgw97djshzcf4wmhrqxksl4erqse6edkpxpkg5rcz0ujs8u4c7s
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVkdRQ2FUbmpIMW5UQ2F5
TmhsU1gzTkxYWWVQektteGdnNkFRVzJ4eVdjCk5uaXk4YTRNK3ZpbzRZNEliVnFH
MzZMLzdmaWhMV1VDUXVteEwra3o5d00KLS0tIGZoOGtydUtpN01YbG1ZckdlMGVa
VktyYlBOMThkQ0RxVGsrZXNoYThtVmsKrHVtCsBB+OSo1aMHlmqz9oMy0nCFJVfa
TzxOt2VIexjX3Qu4x/VP0E000Dgme8KdU7EW8QRhxQd4VCeRCP0ICg==
-----END AGE ENCRYPTED FILE-----
recipient: age1fh70nny5hzz8a8g9077kgfca0lhlh3wsjf4fjrv4klx5ucdtpdmsazuqdj
lastmodified: "2026-08-13T14:15:16Z"
mac: ENC[AES256_GCM,data:cgvXcNRZr8G0l0WVpaxY6TG3lAuRLSIEY467Oudb/qsLOnSADnK8xoOXLTwyqcIb4HYmFhB9ZOdWjY3rq6bnuRXEdVUm79I0tJs82kGg5+hPGpit0vpyuk14jbF40fjfkgY3FMvPurT1IU2ulnJX+jKjyL0J2EQMlxGFaDn+U7M=,iv:5IRGdFcVR5pN5F+ubCmlhSeYk9ivUKUS0QCjX0zMHPs=,tag:9tcjMv7ZG63JZ2Z/aT1+pA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3