# ── API server ──────────────────────────────────────────────────────────────── # Protocol the API server listens on (http or https) GERBEUR_PROTOCOL=http # Public hostname for the API (used in generated URLs, e.g. OG image tags) GERBEUR_HOSTNAME=localhost # Network interface Oak binds to. Default: 0.0.0.0 (all interfaces, required for Docker). # Set to 127.0.0.1 to restrict to loopback only. GERBEUR_LISTEN_HOST=0.0.0.0 # Port the API server listens on GERBEUR_PORT=8000 # Comma-separated list of origins allowed to make cross-origin requests. # In dev: Vite's dev server URL (check actual host/port in Vite output). # In prod (same container): your public domain. # Example: http://localhost:3000,http://127.0.0.1:3000 GERBEUR_ALLOWED_ORIGINS=http://localhost:3000 # Secret key used to sign JWTs. Generate with: openssl rand -hex 32 GERBEUR_JWT_SECRET= # ── Frontend (Vite) ─────────────────────────────────────────────────────────── # These must be prefixed with VITE_ to be exposed to the client bundle. # They tell the frontend where the API server is reachable from the browser. VITE_API_PROTOCOL=http VITE_API_HOSTNAME=localhost VITE_API_PORT=8000