49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
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: {}
|