96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
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
|
|
- ./blob-report:/app/e2e/blob-report
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
depends_on:
|
|
immich-server:
|
|
condition: service_started
|
|
database:
|
|
condition: service_healthy
|
|
profiles:
|
|
- test
|