Skip to content

config.toml

Reference for server/config.toml. Grouped by section.

KeyDefaultNotes
developmenttrueEnables /debug pprof endpoints and looser timeouts. Set false in production.
KeyDefaultNotes
allowed_origins["http://localhost:3000"]CORS allow-list. Add the dashboard origin for cross-origin deployments.
poll_interval_minutes1Helix poll interval used by SERVER_MODE=poll for live detection and title tracking.

Recording behaviour. See Recording for narrative.

KeyDefaultNotes
max_concurrent5Cap on parallel recordings across the server.
preferred_quality"1080"Target HLS variant. "1080", "720", "480", "360", "audio_only".
segment_concurrency4Parallel HLS segment fetches per recording.
network_attempts5Retry budget for generic network failures.
server_error_attempts5Retry budget for Twitch 5xx.
cdn_lag_attempts3Retry budget when a segment isn’t on the CDN yet.
auth_refresh_attempts2Retry budget for expired playback tokens.
max_gap_ratio0.01Tolerated fraction of dropped segments before “incomplete” badge.
strictfalseIf true, any gap fails the recording.
enable_av1falseAllow AV1 variants.
disable_hevcfalseRefuse HEVC variants.
max_restart_gap_seconds120Stream-drop window for appending to the same VOD.
KeyDefaultNotes
type"local""local" or "s3".
local_path"./data"Used when type = "local".

Used only when [storage].type = "s3".

KeyDefaultNotes
endpoint(empty)S3-compatible endpoint URL. Empty means AWS S3.
bucket(empty)
region(empty)
access_key(empty)
secret_key(empty)
use_path_style(unset)Force path-style addressing. Custom endpoints default to path-style.
KeyDefaultNotes
enabledtrueMaster switch for the scheduled-task runner.
eventsub_interval_minutes10EventSub quota-snapshot cadence.
eventsub_reconcile_interval_minutes60Periodic full reconcile of EventSub subscriptions.
category_art_interval_minutes1440Backfill box_art_url on categories from Helix /games.
token_cleanup_interval_minutes60Drop expired Twitch app tokens.
session_cleanup_interval_minutes120Drop expired user session tokens.
fetch_logs_retention_days14Retention sweep for the Helix fetch-log table.
webhook_event_payload_retention_days7Trims the stored EventSub payload column.
event_logs_retention_days14Retention sweep for debug + info event-log rows.
KeyDefaultNotes
log_to_filefalseMirror logs to a file in log_dir in addition to stderr.
log_dir"./logs"Directory for log files. Created on first write.
log_level"debug"debug, info, warn, error.
sample_rate1.0Fraction of high-volume events to record (0.01.0).

Pool tuning. Used only when DATABASE_DRIVER=postgres.

KeyDefaultNotes
max_conns25
min_conns5
max_conn_lifetime_ms180000030 min.
max_conn_idle_time_ms3000005 min.
health_check_period_ms3000030 s.
KeyDefaultNotes
enabledtrueExposes unauthenticated GET /api/v1/health (200 on DB ping success, 503 on failure). The bundled Docker healthcheck depends on this.