# Co-Study4Grid backend environment variables # Copy to `.env` (ignored by git) or export directly in your shell. # Comma-separated list of allowed CORS origins. Default (unset): the local # Vite dev/preview origins on loopback (localhost/127.0.0.1 :5173 and :4173). # Set to the browser origin of the frontend in non-local deployments, e.g. # CORS_ALLOWED_ORIGINS=https://costudy.example.com,https://ops.example.com # Wide-open dev mode is now explicit opt-in (a wildcard lets any web page read # /api/* off a localhost backend): # CORS_ALLOWED_ORIGINS=* # CORS_ALLOWED_ORIGINS= # Deployment lockdown (D7): when truthy (1/true/yes/on), disable the # desktop-era filesystem RPCs (custom config-file path, session # save/list/load, native file picker) with a 403 {code: LOCKED_DOWN}. # The Dockerfile sets this for the public HuggingFace Space; leave it # unset for local/dev installs. Read-only app config stays available. # COSTUDY4GRID_LOCKDOWN=1 # pypowsybl load-flow fast mode toggle (also set per-study from the UI). # Unset or empty = default; "1" / "true" = enabled; "0" / "false" = disabled. # PYPOWSYBL_FAST_MODE= # Optional log level for the FastAPI process (DEBUG, INFO, WARNING, ERROR). # LOG_LEVEL=INFO # Persistent data root for the Game Mode shared solution base (retained # propositions + novelty/frequency stats). Point it at a read-write mount so # the base survives restarts: on a HuggingFace Space, attach either a Bucket # (hf://buckets//) or persistent storage as a volume mounted at # /data, then set this to /data (base lands in /data/game_solutions). Unset = # repo-local ./game_solutions. If the mount is missing the store logs a # warning and falls back to a container-local dir (never fails the request). # COSTUDY4GRID_DATA_DIR= # Explicit override of the solution-base directory (wins over the data root). # COSTUDY4GRID_GAME_SOLUTIONS_DIR=