# HTTP server # HOST controls native process listening and the default Compose host publishing # for both the main service and provider OAuth callback ports. Keep it on # loopback unless external access is protected. HOST=127.0.0.1 PORT=3001 # Timeouts are seconds; the Compose stop grace period uses a duration. GRACEFUL_SHUTDOWN_TIMEOUT=10 CONTAINER_STOP_GRACE_PERIOD=15s READ_TIMEOUT=60 IDLE_TIMEOUT=120 # Storage # Empty DATABASE_DSN uses ${DATA_DIR}/gpt-load.db. Otherwise set a SQLite, # MySQL, or PostgreSQL URL; container file paths must use mounted paths. DATA_DIR=./data DATABASE_DSN= # Security # Empty values use generated auth.key and encryption.key files in DATA_DIR. # Back up encryption.key with the database; losing it makes credentials unreadable. AUTH_KEY= ENCRYPTION_KEY= # Client IP; restart after changes. Empty header uses the connection IP. # Examples: X-Forwarded-For, CF-Connecting-IP. Invalid/missing values fall back. CLIENT_IP_HEADER= # Optional comma-separated proxy IPs/CIDRs (IPv4/IPv6). Empty means trusting # the selected header directly; your proxy must overwrite or sanitize it. # With a list, only matching connection peers may supply the header. XFF is # scanned right-to-left for the first untrusted IP (leftmost if all trusted); # without a list, its leftmost IP is used. Other headers accept one IP only. TRUSTED_PROXIES= # Startup proxy fallback; restart after changes. # HTTP_PROXY=http://proxy.example.com:8080 # HTTPS_PROXY=http://proxy.example.com:8080 # NO_PROXY=localhost,127.0.0.1,.internal.example.com # Logging LOG_LEVEL=info LOG_FORMAT=text # Optional process override; omit to use the Models.dev setting (enabled by default). # MODELS_DEV_AUTO_SYNC_ENABLED=true # Codex voice defaults to direct media. Choose Off / Direct / Relay in system settings; # Codex groups can override this default. Existing media-relay deployments must select Relay. # Only relay mode uses these process-wide media settings (shared by all relay groups). # For Docker, use docker-compose.voice.yml and set a reachable media IP below. # UDP defaults to 50000-50127. Publish the same range and allow it in your firewall. # CODEX_LIVE_PUBLIC_IP=203.0.113.10 # CODEX_LIVE_UDP_PORT_MIN=50000 # CODEX_LIVE_UDP_PORT_MAX=50127 # CODEX_LIVE_MAX_SESSIONS=32 # Optional JSON array of ICE/STUN/TURN servers when the network requires one. # CODEX_LIVE_ICE_SERVERS=[{"urls":["stun:stun.example.com:3478"]}]