# ── API server ──────────────────────────────────────────────────────────────── # Public-facing URL of the server. Used for CORS/WebSocket origin checks, # email links, and OG image URLs. Behind a reverse proxy, set this to the # externally-visible URL with no trailing slash (e.g. https://example.com). # Defaults to http://localhost:GERBEUR_PORT for local development. # GERBEUR_PUBLIC_URL=https://example.com # Site name shown in the browser tab, app header, OG meta tags, and emails. GERBEUR_SITE_NAME=gerbeur # Emoji the favicon set (SVG, .ico, PNG 16–512, Apple touch icon) and the app # header logo are generated/rendered from. Defaults to 🚚. Applied at runtime # (server startup), so changing it only needs a restart — no rebuild. GERBEUR_SITE_EMOJI=🚚 # How Bandcamp links are played. # embed (default) the bandcamp.com iframe — cannot autoplay # native resolve the page's mp3 streams and play them in gerbeur's # own player: autoplay, seeking, and albums as a queue. # Note this bypasses Bandcamp's player, so their play counts # and 3-play preview limit do not apply. # Applied at runtime; changing it needs a restart of both the API and Vite. GERBEUR_BANDCAMP_PLAYER=embed # Port the API server listens on (the container's internal port). GERBEUR_PORT=8000 # 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 # Base URL of the frontend, used in email links (e.g. password reset) and # automatically added to the CORS/WebSocket allowed-origins list. # Defaults to GERBEUR_PUBLIC_URL — correct for single-container deployments. # In prod with a separate frontend host, set this to the frontend origin; that # is the only variable you need for that case (no GERBEUR_ALLOWED_ORIGINS entry required). # Example: https://app.example.com # GERBEUR_FRONTEND_URL= # Comma-separated list of *extra* origins allowed to reach the API/WS. # GERBEUR_PUBLIC_URL and GERBEUR_FRONTEND_URL are always included automatically. # Typically only needed in dev to whitelist the Vite dev server. # Defaults to empty (no extra origins). # Example: http://localhost:3000,http://127.0.0.1:3000 GERBEUR_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 # Secret key used to sign JWTs. Generate with: openssl rand -hex 32 GERBEUR_JWT_SECRET= # SMTP connection URL for outgoing email: the welcome email, password reset # links and the weekly/monthly digests. Leave empty to send no email at all. # Example: smtps://username:password@smtp.example.com:465 GERBEUR_SMTPS_URL= # Sender of every email, as an address or "Name
" # (e.g. gerbeur