# Reachy Mini Website server env vars # # Copy this file to `.env` and fill in the values for local dev. # In production (HF Space), set these from the Space's "Settings → # Variables and secrets" panel, NOT from a committed `.env`. # (`.env` is gitignored.) # ----------------------------------------------------------------------------- # Server # ----------------------------------------------------------------------------- # Port the Express server listens on. Defaults to 7860 (HF Space convention). # PORT=7860 # ----------------------------------------------------------------------------- # OAuth (used by /api/oauth-config and the in-iframe sign-in flow) # ----------------------------------------------------------------------------- # Set in the Space when `hf_oauth: true` is in README.md. # OAUTH_CLIENT_ID= # OAUTH_SCOPES=openid profile # ----------------------------------------------------------------------------- # HF Inference Providers (used by /api/js-apps category inference) # ----------------------------------------------------------------------------- # Required for category inference. A standard READ token is enough - # Inference Providers access is on by default for FREE/PRO tokens. # Without this, /api/js-apps still works but every entry will have # `categories: null` (the route logs a warning at startup). HF_TOKEN= # Dataset where the inferred-categories cache is persisted. # Defaults to `tfrere/reachy-mini-app-categories` (per-user namespace, # auto-created on first commit). Override to e.g. # `pollen-robotics/reachy-mini-app-categories` once the org dataset # exists and the HF_TOKEN has write access to it. # HF_CATEGORIES_DATASET=tfrere/reachy-mini-app-categories # ----------------------------------------------------------------------------- # OpenAI Realtime ephemeral keys (used by /api/openai/ephemeral) # ----------------------------------------------------------------------------- # Master OpenAI API key. Used SERVER-SIDE only to mint short-lived # (~1 minute) `client_secret.value` tokens for the Reachy Mini mobile # shell's voice conversation feature. NEVER expose this to a client # bundle. The mobile client never sees this value: it posts its HF # Bearer token, gets back an ephemeral session key scoped to a single # OpenAI Realtime session. OPENAI_API_KEY= # Optional: pin the Realtime model id. Defaults to # `gpt-4o-realtime-preview-2024-12-17`. Bumping this requires # coordinating with the mobile shell, which is built against a # specific protocol version. # OPENAI_REALTIME_MODEL=gpt-4o-realtime-preview-2024-12-17 # Optional: max ephemeral mints per HF user per rolling hour. # Defaults to 60. The in-memory sliding-window limiter resets on # Space restart; v1 takes the trade-off, replace with a shared KV # the day we need multi-replica fairness. # OPENAI_EPHEMERAL_RATE_LIMIT_PER_HOUR=60