# Compose environment for `docker compose up` — copy to `.env` and fill in. # # cp .env.compose.example .env # # These values are substituted into docker-compose.yaml (${VAR}); they are NOT # baked into the image (.env is gitignored and in .dockerignore). Distinct from # the app's own .env used for a bare `uvicorn` run. # --- Database (the bundled postgres:17 service) --- HS_DB_USER=holdslayer HS_DB_PASSWORD=change-me HS_DB_NAME=holdslayer # --- Published port on the host --- HS_APP_PORT=21081 # --- SIP: mock by default (dev/local). Set false + fill SIP_TRUNK_* for a real trunk. --- USE_MOCK_SIP=true # --- Auth: Casdoor SSO (owner-only) --- # Required: this stack publishes the port on 0.0.0.0, so dev-owner mode # (CASDOOR_ENABLED=false) is refused at startup — it's loopback-only. Register a # `hold-slayer` app in Casdoor (org heluca, redirect URI /auth/callback). CASDOOR_ENABLED=true CASDOOR_ENDPOINT=https://id.ouranos.helu.ca CASDOOR_CLIENT_ID= CASDOOR_CLIENT_SECRET= CASDOOR_ORG_NAME=heluca CASDOOR_APP_NAME=hold-slayer # The owner's Casdoor username — the only identity allowed on any surface. OWNER_NAME= # Public base URL the browser reaches (drives OAuth discovery + the Casdoor # redirect_uri). E.g. http://localhost:21081 for a local run. PUBLIC_BASE_URL=http://localhost:21081