Files
CTXD/app/.env.example
T

64 lines
3.0 KiB
Bash
Raw Normal View History

# ════════════════════════════════════════════════════════════════════
# 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