version: "3.9" services: backend: image: ${REGISTRY:-registry.local}/${IMAGE_NAMESPACE:-youruser}/imap-client-backend:latest build: context: ./backend dockerfile: Dockerfile # You can also add: env_file: .env (uncomment if you create a .env) environment: IMAP_CLIENT_DB_PATH: /data/app.db NODE_ENV: production PORT: 8080 # OIDC (override in .env for production) OIDC_ISSUER: ${OIDC_ISSUER:-https://auth.thumeit.com/.well-known/openid-configuration} OIDC_CLIENT_ID: ${OIDC_CLIENT_ID:-imap_client} OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-replace-with-real-secret} OIDC_REDIRECT_URI: ${OIDC_REDIRECT_URI:-http://localhost:8080/api/auth/callback} OIDC_PROVIDER: ${OIDC_PROVIDER:-AuthServer} # Session secret (generate: openssl rand -base64 48) SESSION_SECRET: ${SESSION_SECRET:-change-this-session-secret} # Frontend origin(s) comma-separated for CORS FRONTEND_ORIGIN: ${FRONTEND_ORIGIN:-http://localhost:5173} # Optional future: BING_MKT backend side (frontend uses VITE_BING_MKT) volumes: - backend_data:/data ports: - "8080:8080" frontend: image: ${REGISTRY:-registry.local}/${IMAGE_NAMESPACE:-youruser}/imap-client-frontend:latest build: context: ./frontend dockerfile: Dockerfile args: VITE_API_BASE: ${VITE_API_BASE:-http://localhost:8080} OIDC_PROVIDER: ${OIDC_PROVIDER:-AuthServer} VITE_BING_MKT: ${VITE_BING_MKT:-en-US} VITE_BING_DISABLE: ${VITE_BING_DISABLE:-0} environment: VITE_API_BASE: ${VITE_API_BASE:-http://localhost:8080} OIDC_PROVIDER: ${OIDC_PROVIDER:-AuthServer} VITE_BING_MKT: ${VITE_BING_MKT:-en-US} VITE_BING_DISABLE: ${VITE_BING_DISABLE:-0} ports: - "5173:80" depends_on: - backend volumes: backend_data: {}