Add comprehensive rule documentation for AI-assisted development covering authentication surfaces, outbound-call safety invariants, and other project conventions to guide Claude's understanding of critical system behaviors.
35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
# 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 <PUBLIC_BASE_URL>/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
|