super-productivity/docker-compose.e2e.yaml
Johannes Millan 5e79162ca5 fix(ci): fix WebDAV config path for hacdias/webdav v5
The hacdias/webdav:latest image updated to v5 which no longer
auto-discovers config at /config.yml. Mount to /etc/webdav/config.yaml
(an auto-discovered path) and pin image to v5 to prevent future breakage.
2026-02-16 11:07:52 +01:00

54 lines
1.5 KiB
YAML

# Docker Compose override for E2E tests
# Note: For supersync tests, use both files: -f docker-compose.yaml -f docker-compose.e2e.yaml
# This file is standalone for app/webdav tests only
#
# FAST LOCAL ALTERNATIVE: Run `ng serve` locally + `npm run e2e:webdav` (only webdav in Docker)
services:
# Production Angular build for E2E tests
# Uses production Dockerfile with nginx
app:
build:
context: .
dockerfile: Dockerfile
args:
UNSPLASH_KEY: ${UNSPLASH_KEY:-DUMMY_UNSPLASH_KEY}
UNSPLASH_CLIENT_ID: ${UNSPLASH_CLIENT_ID:-DUMMY_UNSPLASH_CLIENT_ID}
ports:
- '${APP_PORT:-4242}:${APP_PORT:-4242}'
environment:
- APP_PORT=${APP_PORT:-4242}
- WEBDAV_BACKEND=${WEBDAV_BACKEND:-}
healthcheck:
test: ['CMD', 'curl', '-sf', 'http://localhost:${APP_PORT:-4242}']
interval: 10s
timeout: 5s
retries: 30
start_period: 30s
# WebDAV sync server (for sync tests)
webdav:
image: hacdias/webdav:v5
ports:
- '${WEBDAV_PORT:-2345}:${WEBDAV_PORT:-2345}'
environment:
- PORT=${WEBDAV_PORT:-2345}
volumes:
- ./webdav.yaml:/etc/webdav/config.yaml:ro
- webdav_data:/data
healthcheck:
test:
[
'CMD',
'wget',
'--quiet',
'--tries=1',
'--spider',
'http://localhost:${WEBDAV_PORT:-2345}/',
]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
volumes:
webdav_data: