name: immich-e2e services: e2e-auth-server: container_name: immich-e2e-auth-server build: context: ../e2e-auth-server environment: EXTRA_REDIRECT_URIS: http://immich-server:2285/auth/login ports: - 2286:2286 immich-server: container_name: immich-e2e-server image: immich-server:latest build: context: ../ dockerfile: server/Dockerfile cache_from: - type=registry,ref=ghcr.io/immich-app/immich-server-build-cache:${SERVER_CACHE_KEY:-linux-amd64-cc099f297acd18c924b35ece3245215b53d106eb2518e3af6415931d055746cd-main} args: - BUILD_ID=1234567890 - BUILD_IMAGE=e2e - BUILD_SOURCE_REF=e2e - BUILD_SOURCE_COMMIT=e2eeeeeeeeeeeeeeeeee environment: DB_HOSTNAME: database DB_USERNAME: postgres DB_PASSWORD: postgres DB_DATABASE_NAME: immich IMMICH_MACHINE_LEARNING_ENABLED: 'false' IMMICH_TELEMETRY_INCLUDE: all IMMICH_ENV: testing IMMICH_PORT: '2285' IMMICH_IGNORE_MOUNT_CHECK_ERRORS: 'true' volumes: - ./test-assets:/test-assets depends_on: redis: condition: service_started database: condition: service_healthy ports: - 2285:2285 redis: container_name: immich-e2e-redis image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6 healthcheck: test: redis-cli ping || exit 1 database: container_name: immich-e2e-postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres POSTGRES_DB: immich ports: - 5435:5432 shm_size: 128mb healthcheck: test: ['CMD-SHELL', 'pg_isready -U postgres -d immich'] interval: 1s timeout: 5s retries: 30 start_period: 10s e2e-runner: container_name: immich-e2e-runner build: context: ../ dockerfile: e2e/Dockerfile.playwright network_mode: 'service:immich-server' shm_size: 1gb environment: PLAYWRIGHT_DB_HOST: database PLAYWRIGHT_DB_PORT: '5432' PLAYWRIGHT_DISABLE_WEBSERVER: 'true' PLAYWRIGHT_AUTH_SERVER_URL: http://e2e-auth-server:2286 VITEST_DISABLE_DOCKER_SETUP: 'true' CI: '${CI:-}' volumes: - ./test-assets:/app/e2e/test-assets - ./playwright-report:/app/e2e/playwright-report - /var/run/docker.sock:/var/run/docker.sock depends_on: immich-server: condition: service_started database: condition: service_healthy profiles: - test