Operator-Auth full implementation. #70
@@ -0,0 +1,25 @@
|
||||
# Terra-View deployment configuration — EXAMPLE / template.
|
||||
#
|
||||
# Copy this to `.env` in the same directory as docker-compose.yml and fill in
|
||||
# real values: cp .env.example .env
|
||||
# `.env` is gitignored — NEVER commit real secrets. Docker Compose auto-loads
|
||||
# `.env` and substitutes these into the ${VAR} placeholders in docker-compose.yml.
|
||||
|
||||
# Cookie-signing secret shared by the client portal AND the operator-auth
|
||||
# session cookie. MUST be a strong random value in production — the in-code
|
||||
# fallback ("dev-insecure-change-me") is public and forgeable.
|
||||
# Generate one (and keep it secret):
|
||||
# python3 -c "import secrets; print(secrets.token_urlsafe(48))"
|
||||
SECRET_KEY=change-me-generate-a-strong-random-value
|
||||
|
||||
# Set true ONLY when the app is served over HTTPS. On plain HTTP leave it false,
|
||||
# or the browser won't send the session cookie and login will look broken.
|
||||
COOKIE_SECURE=false
|
||||
|
||||
# Operator-auth login gate. Leave false to deploy "dark" (the app behaves exactly
|
||||
# as before — nothing gated, nothing can lock you out). Roll out by: deploy with
|
||||
# false -> seed a superadmin via `docker compose exec web-app python3
|
||||
# backend/operator_admin.py create-superadmin ...` -> confirm you can log in ->
|
||||
# set true and `docker compose up -d web-app` to enforce. Setting it back to
|
||||
# false is the instant escape hatch.
|
||||
OPERATOR_AUTH_ENABLED=false
|
||||
Reference in New Issue
Block a user