diff --git a/docker-compose.yml b/docker-compose.yml index ea0681b..8134ddf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,9 @@ # Docker Compose für Rippy +# +# Geräte-Zugriff (22.07./23.07.-Lehre): Optische Laufwerke MÜSSEN als devices: +# eingebunden werden. Bind-Mounts unter volumes: geben dem Container zwar den +# Geräteknoten, aber KEINE Berechtigung im Device-Cgroup → jedes open() scheitert +# mit EPERM. Voraussetzung: Die VM sieht das Laufwerk (USB-Passthrough auf pve). services: api: @@ -23,13 +28,15 @@ services: volumes: - media:/app/media - temp:/app/temp - - /dev/cdrom:/dev/cdrom:ro - - /dev/sr0:/dev/sr0:ro + devices: + - /dev/sr0:/dev/sr0 networks: - rippy-net depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy restart: unless-stopped read_only: false @@ -40,23 +47,25 @@ services: environment: - DATABASE_URL=postgresql://rippy:rippy@postgres:5432/rippy - REDIS_URL=redis://redis:6379/0 - - TMDB_API_KEY=${TMDB_API_KEY} - - THETVDB_API_KEY=${THETVDB_API_KEY} - - JWT_SECRET_KEY=${JWT_SECRET_KEY} + - RIP_OUTPUT_DIR=/app/media + - MAKEMKV_APP_KEY=${MAKEMKV_APP_KEY} - LOG_LEVEL=INFO volumes: - media:/app/media - temp:/app/temp - - disc:/dev/disc - - /dev/cdrom:/dev/cdrom:ro - - /dev/sr0:/dev/sr0:ro + devices: + - /dev/sr0:/dev/sr0 networks: - rippy-net depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy restart: unless-stopped - read_only: true + # read_only bleibt Ziel (Etappe 6), aber MakeMKV/abcde brauchen HOME + + # Settings — bis zur Härtung schreibbar, Ausgabe geht ohnehin aufs Volume. + read_only: false tmpfs: - /app/tmp - /run @@ -112,6 +121,5 @@ networks: volumes: media: temp: - disc: postgres-data: redis-data: