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