@@ -29,10 +29,22 @@ DATABASE_URL=sqlite:data/hypergoat.db
2929# IMPORTANT: This MUST be persistent across restarts or sessions will be invalidated
3030SECRET_KEY_BASE = CHANGE_ME_TO_A_RANDOM_64_CHARACTER_STRING_USE_OPENSSL_RAND
3131
32+ # Trust X-User-DID header from reverse proxy for authentication
33+ # DANGEROUS: only enable when running behind a trusted reverse proxy
34+ # TRUST_PROXY_HEADERS=false
35+
36+ # Allowed origins for CORS and WebSocket connections (comma-separated)
37+ # Empty or unset = allow all origins. Set explicit origins in production.
38+ # Examples: https://myapp.com,https://admin.myapp.com
39+ # ALLOWED_ORIGINS=
40+
3241# Admin DIDs (comma-separated) - users with admin access to the dashboard
3342# Example: did:plc:qc42fmqqlsmdq7jiypiiigww is daviddao.org
3443ADMIN_DIDS = did:plc:qc42fmqqlsmdq7jiypiiigww
3544
45+ # Domain DID for server identity (defaults to did:web:{HOST})
46+ # DOMAIN_DID=
47+
3648# =============================================================================
3749# OAuth Configuration
3850# =============================================================================
@@ -52,10 +64,24 @@ ADMIN_DIDS=did:plc:qc42fmqqlsmdq7jiypiiigww
5264# Set to "true" for local development, leave unset for production
5365# OAUTH_LOOPBACK_MODE=true
5466
67+ # =============================================================================
68+ # Lexicon Configuration
69+ # =============================================================================
70+
71+ # Directory to load lexicon JSON files from (default: testdata/lexicons)
72+ # LEXICON_DIR=
73+
5574# =============================================================================
5675# Jetstream Configuration
5776# =============================================================================
5877
78+ # Jetstream WebSocket URL (default: wss://jetstream2.us-west.bsky.network/subscribe)
79+ # JETSTREAM_URL=
80+
81+ # Collections to subscribe to via Jetstream (comma-separated NSIDs)
82+ # If not set, uses collections from registered lexicons
83+ # JETSTREAM_COLLECTIONS=
84+
5985# Disable Jetstream cursor tracking (useful in development to avoid
6086# backfilling events from previous sessions)
6187# Set to "true", "1", or "yes" to disable
@@ -65,12 +91,21 @@ ADMIN_DIDS=did:plc:qc42fmqqlsmdq7jiypiiigww
6591# Backfill Configuration
6692# =============================================================================
6793
94+ # Run backfill on server start
95+ # BACKFILL_ON_START=false
96+
97+ # Collections to backfill (comma-separated, defaults to JETSTREAM_COLLECTIONS)
98+ # BACKFILL_COLLECTIONS=
99+
68100# Relay URL for discovering repos (com.atproto.sync.listReposByCollection)
69101# BACKFILL_RELAY_URL=https://relay1.us-west.bsky.network
70102
71103# PLC directory URL for resolving DIDs
72104# BACKFILL_PLC_URL=https://plc.directory
73105
106+ # Concurrent requests per PDS during backfill
107+ # BACKFILL_PDS_CONCURRENCY=4
108+
74109# Global maximum concurrent HTTP requests (prevents overwhelming network)
75110# Higher = faster but more resource intensive
76111# BACKFILL_MAX_HTTP=50
@@ -86,6 +121,16 @@ ADMIN_DIDS=did:plc:qc42fmqqlsmdq7jiypiiigww
86121# Maximum concurrent DID resolutions during discovery phase
87122# BACKFILL_MAX_REPOS=50
88123
124+ # Timeout per repo in milliseconds
125+ # BACKFILL_REPO_TIMEOUT=60000
126+
127+ # =============================================================================
128+ # PLC Directory
129+ # =============================================================================
130+
131+ # PLC directory URL for DID resolution (default: https://plc.directory)
132+ # PLC_DIRECTORY_URL=
133+
89134# =============================================================================
90135# External Services (Defaults configured via Admin UI)
91136# =============================================================================
0 commit comments