Files
homelab-infra/ops/restore-tests/immich-compose.test.yml
T

69 lines
2.5 KiB
YAML

services:
restoretest-immich-postgres:
# Gleiches DB-Image wie Produktion, damit VectorChord/pgvector beim
# Restore aus immich.dump verfuegbar sind.
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
container_name: restoretest-immich-postgres
restart: "no"
environment:
TZ: Europe/Berlin
POSTGRES_USER: immich
POSTGRES_DB: immich
POSTGRES_PASSWORD: restoretest-immich-db
PGDATA: /var/lib/postgresql/data
shm_size: 128mb
volumes:
- /mnt/user/backups/restore-lab/immich/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U immich -d immich"]
interval: 10s
timeout: 5s
retries: 12
security_opt:
- no-new-privileges:true
restoretest-immich-redis:
image: redis:8.8.0-alpine@sha256:09160599abd229764c0fb44cb6be640294e1d360a54b19985ab4843dcf2d90f1
container_name: restoretest-immich-redis
restart: "no"
command:
- redis-server
- --save
- ""
- --appendonly
- "no"
security_opt:
- no-new-privileges:true
restoretest-immich-server:
# gleiches Image wie Produktion; ML-Container bleibt bewusst weg,
# weil der Smoke-Test nur Login-Page, DB-Restore und Asset-Count prueft.
image: ghcr.io/immich-app/immich-server:release@sha256:c15bff75068effb03f4355997d03dc7e0fc58720c2b54ad6f7f10d1bc57efaa5
container_name: restoretest-immich-server
restart: "no"
depends_on:
restoretest-immich-postgres:
condition: service_healthy
restoretest-immich-redis:
condition: service_started
environment:
DB_HOSTNAME: restoretest-immich-postgres
DB_USERNAME: immich
DB_PASSWORD: restoretest-immich-db
DB_DATABASE_NAME: immich
REDIS_HOSTNAME: restoretest-immich-redis
# ML bewusst deaktiviert: Endpoint zeigt auf eine lokale, nicht
# erreichbare URL. Immich-Server startet, ML-Features bleiben aus.
IMMICH_MACHINE_LEARNING_URL: http://restoretest-immich-ml-disabled:9999
TZ: Europe/Berlin
ports:
# nur 127.0.0.1 - keine Public-Route, keine Traefik-Labels
- "127.0.0.1:12283:2283"
volumes:
# Test-Upload-Verzeichnis ist leer und liegt im Restore-Lab.
# Produktive Assets unter /mnt/user/photos/immich werden NICHT eingebunden,
# damit der Smoke-Test keine produktiven Daten anfasst.
- /mnt/user/backups/restore-lab/immich/upload:/usr/src/app/upload
security_opt:
- no-new-privileges:true