services: backend: build: context: . dockerfile: backend/Dockerfile container_name: backend command: uvicorn media_library_viewer_api.main:app --host 0.0.0.0 --port 8000 --reload environment: AUTH_ENABLED: "false" OIDC_ISSUER_URL: ${OIDC_ISSUER_URL:-} OIDC_AUDIENCE: ${OIDC_AUDIENCE:-} OIDC_JWKS_URL: ${OIDC_JWKS_URL:-} JELLYFIN_URL: ${JELLYFIN_URL:-http://host.docker.internal:8096} JELLYFIN_API_KEY: ${JELLYFIN_API_KEY:-} JELLYFIN_USER_ID: ${JELLYFIN_USER_ID:-} JELLYSEERR_URL: ${JELLYSEERR_URL:-} JELLYSEERR_API_KEY: ${JELLYSEERR_API_KEY:-} LOG_LEVEL: ${LOG_LEVEL:-INFO} SSH_HOST: ${SSH_HOST:-host.docker.internal} SSH_USERNAME: ${SSH_USERNAME:-} SSH_PORT: ${SSH_PORT:-22} SSH_KEY_DIRECTORY: /root/.ssh SSH_KEY_NAME: ${SSH_KEY_NAME:-id_ed25519} SSH_PASSWORD: ${SSH_PASSWORD:-} REMOTE_MEDIA_ROOT: ${REMOTE_MEDIA_ROOT:-} REMOTE_PATH_PREFIX: ${REMOTE_PATH_PREFIX:-} ports: - "8000:8000" volumes: - ./backend:/app/backend - ${SSH_KEY_HOST_DIR:-./secrets/ssh}:/root/.ssh:ro - backend_cache:/app/backend/.cache restart: unless-stopped frontend: build: context: . dockerfile: frontend/Dockerfile target: dev container_name: frontend environment: VITE_API_URL: "/api" VITE_OIDC_ENABLED: "false" VITE_DEV_API_PROXY_TARGET: "http://backend:8000" ports: - "5173:5173" volumes: - ./frontend:/app/frontend - frontend_node_modules:/app/frontend/node_modules depends_on: - backend restart: unless-stopped volumes: frontend_node_modules: backend_cache: