Skip to content

Complete Configuration Reference Table (config.yaml) ​

A single-page lookup reference of all configuration parameters defined in pkg/config/config.go.


1. Master Configuration Parameter Table ​

YAML PathTypeDefault ValueDescription
server.portinteger8080Primary HTTP / REST / WHEP / HLS web server port
server.debugbooleanfalseEnable Gin debug logging and verbose telemetry
server.pprof_portinteger0Port for Go runtime net/http/pprof (e.g. 6060, 0 disables)
server.record_retention_daysinteger0Global archive retention in days (0 disables cleanup)
server.gc_percentinteger50Go runtime GC target (GOGC, default 50 for tighter memory)
server.gc_memory_limit_mbinteger0Go runtime memory ceiling in MB (GOMEMLIMIT, 0 disables)
server.cors_allowed_origins[]string[]List of allowed CORS origin URLs (or ["*"])
server.hls.live_segments_in_memoryinteger3Number of live HLS video segments retained in RAM
server.grpc.addressstring""Optional bind address for gRPC FrameService
server.grpc.portinteger50051Port for gRPC FrameService (StreamFrames, PushMetadata)
server.tls.cert_filestring""Path to TLS certificate PEM file
server.tls.key_filestring""Path to TLS private key PEM file
server.webrtc.listen_portinteger8555UDP port for WebRTC media multiplexer (BatchingUDPMuxConn)
server.webrtc.nat_1_to_1_ips[]string[]Public IP addresses for WebRTC ICE candidate mapping
server.webrtc.ice_servers[]string[]List of STUN/TURN server URIs
server.webrtc.ice_transport_policystring"all"ICE policy ("all" or "relay")
server.webrtc.turn_usernamestring""TURN authentication username
server.webrtc.turn_passwordstring""TURN authentication password
auth.secretstring""JWT HMAC-SHA256 signing secret (auto-generated if empty)
global_tags[].idstring—Unique identifier for system tag
global_tags[].namestring—Display name for system tag
global_tags[].colorstring—Hex color code (e.g. "#3B82F6")
cameras[].idstring—Unique camera identifier (e.g. "cam-01")
cameras[].urlstring—RTSP source URL ("rtsp://user:pass@host:554/live")
cameras[].recordbooleantrueEnable continuous fMP4 archive recording
cameras[].retention_daysinteger0Per-camera archive retention override in days
cameras[].tags[]string[]List of associated tag IDs
cameras[].folder_idstring""Associated folder ID for hierarchy
cameras[].commentstring""Arbitrary administrative notes
cameras[].sim_phonestring""Optional cellular SIM phone number
cameras[].sim_iccidstring""Optional cellular SIM ICCID identifier
cameras[].lazy_hlsbooleanfalseEnable on-demand HLS muxing only when viewers are active
cameras[].transportstring"tcp"RTSP transport protocol ("tcp" or "udp")
cameras[].token_authbooleanfalseRequire 60-second short-lived stream token for playback
cameras[].traffic_limitinteger0Traffic ceiling in bytes for billing control
events.webhooks[].urlstring—Destination HTTP endpoint URL
events.webhooks[].topics[]string["*"]Topic filters (e.g. ["camera.*", "recording_failed"])
events.webhooks[].secretstring""Optional HMAC signature secret header
events.mqtt.enabledbooleanfalseEnable MQTT event publishing
events.mqtt.brokerstring""MQTT broker URI ("tcp://localhost:1883")
events.mqtt.usernamestring""MQTT authentication username
events.mqtt.passwordstring""MQTT authentication password
events.mqtt.topicstring"ruseon/events"Base MQTT publish topic

Released under the MIT License.