name: videodownloader services: api: build: context: . dockerfile: apps/api/Dockerfile image: vsd-api:latest restart: unless-stopped environment: PORT: "3000" APP_VERSION: "6.5.6" CORS_ORIGIN: ${PUBLIC_BASE_URL:-https://videodownloader.naurecki.pl} WORK_DIR: /app/work # Auto-aktualizacja yt-dlp: sprawdzanie przy starcie i co N godzin (0 wyłącza) YTDLP_AUTO_UPDATE: ${YTDLP_AUTO_UPDATE:-1} YTDLP_UPDATE_INTERVAL_H: ${YTDLP_UPDATE_INTERVAL_H:-24} tmpfs: # katalog roboczy pobierań w pamięci/efemeryczny - sprzątany po jobie - /app/work # tylko loopback hosta - diagnostyka; publiczny ruch idzie przez web (nginx) ports: - "127.0.0.1:3105:3000" web: build: context: . dockerfile: apps/web/Dockerfile image: vsd-web:latest restart: unless-stopped depends_on: - api # publiczny ruch (HTML + statyki + /api) wchodzi tu; reverse proxy hosta → 8086 ports: - "127.0.0.1:8086:80"