64 lines
3.0 KiB
Bash
64 lines
3.0 KiB
Bash
|
|
# ════════════════════════════════════════════════════════════════════
|
||
|
|
# CTXD — Context Dossier Environment Configuration
|
||
|
|
# Copy to .env and fill in your values. All variables are optional
|
||
|
|
# unless running in Docker (DATABASE_URL, CTXD_API_KEY, OAUTH_* required).
|
||
|
|
#
|
||
|
|
# Precedence: env var > ctxd.yaml (in /data) > built-in defaults
|
||
|
|
# ════════════════════════════════════════════════════════════════════
|
||
|
|
|
||
|
|
# ── Database ────────────────────────────────────────────────────────
|
||
|
|
# Full PostgreSQL connection string. If empty, CTXD falls back to SQLite
|
||
|
|
# at /data/ctxd.db (or CTXD_HOME/ctxd.db).
|
||
|
|
DATABASE_URL=postgresql://ctxd:ctxd_local_dev@postgres:5432/ctxd
|
||
|
|
|
||
|
|
# Postgres container settings (only used when running the bundled PG)
|
||
|
|
POSTGRES_USER=ctxd
|
||
|
|
POSTGRES_PASSWORD=ctxd_local_dev
|
||
|
|
POSTGRES_DB=ctxd
|
||
|
|
|
||
|
|
# ── Server ──────────────────────────────────────────────────────────
|
||
|
|
# Bind address and port inside the container
|
||
|
|
CTXD_HOST=0.0.0.0
|
||
|
|
CTXD_PORT=9091
|
||
|
|
|
||
|
|
# Data directory (inside container)
|
||
|
|
CTXD_HOME=/data
|
||
|
|
|
||
|
|
# Uvicorn log level: debug, info, warning, error
|
||
|
|
LOG_LEVEL=info
|
||
|
|
|
||
|
|
# ── Auth ────────────────────────────────────────────────────────────
|
||
|
|
# Enable authentication globally
|
||
|
|
CTXD_AUTH_ENABLED=true
|
||
|
|
|
||
|
|
# Shared API key for Hermes/internal MCP + HTTP auth
|
||
|
|
CTXD_API_KEY=
|
||
|
|
|
||
|
|
# Legacy read-only key for /readonly/sse ?key= migration
|
||
|
|
CTXD_EXTERNAL_READONLY_KEY=
|
||
|
|
|
||
|
|
# ── OAuth ───────────────────────────────────────────────────────────
|
||
|
|
# Enable the OAuth authorization server
|
||
|
|
OAUTH_ENABLED=true
|
||
|
|
|
||
|
|
# Public URL of the server (used in OAuth discovery metadata)
|
||
|
|
OAUTH_ISSUER=https://ctxd.example.com
|
||
|
|
|
||
|
|
# Fallback approval key for /oauth/authorize
|
||
|
|
OAUTH_APPROVAL_KEY=
|
||
|
|
|
||
|
|
# Which user ID to attribute OAuth approvals to
|
||
|
|
OAUTH_APPROVAL_USER_ID=admin
|
||
|
|
|
||
|
|
# Token lifetimes in seconds
|
||
|
|
OAUTH_ACCESS_TOKEN_TTL=3600
|
||
|
|
OAUTH_REFRESH_TOKEN_TTL=2592000
|
||
|
|
|
||
|
|
# ── Web Sessions ────────────────────────────────────────────────────
|
||
|
|
# Session cookie lifetime in seconds (default: 7 days)
|
||
|
|
WEB_SESSION_TTL=604800
|
||
|
|
|
||
|
|
# ── Snapshots ───────────────────────────────────────────────────────
|
||
|
|
# Min/max snapshots retained per project before rotation
|
||
|
|
SNAPSHOT_MIN_KEEP=5
|
||
|
|
SNAPSHOT_MAX_KEEP=25
|