Prepare Immich restore smoke test

This commit is contained in:
2026-05-26 21:33:01 +02:00
parent 48099fb48d
commit c5d231a0db
14 changed files with 616 additions and 8 deletions
+67
View File
@@ -0,0 +1,67 @@
services:
restoretest-immich-postgres:
# gleiches Image wie Produktion, damit pgvecto-rs / pgvector-Extensions
# beim Restore aus immich.dump verfuegbar sind
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
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
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:7.4-alpine
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