Skip to content

Server & Network Configuration Reference ​

The server, webrtc, and logging blocks in config.yaml control the core network listeners, encryption layers, and logging verbosity.


1. Complete Server Configuration Block ​

yaml
server:
  # Network interface to bind to (0.0.0.0 binds to all interfaces)
  host: "0.0.0.0"
  
  # Primary HTTP / REST / WHEP / HLS port
  port: 8080
  
  # Base URL path prefix (useful for reverse proxy subpaths like /ruseon)
  base_path: ""

  # TLS / HTTPS Configuration
  tls:
    enabled: false
    cert_file: "/etc/ruseon/certs/fullchain.pem"
    key_file: "/etc/ruseon/certs/privkey.pem"
    min_version: "TLS1.3" # options: TLS1.2, TLS1.3

  # CORS (Cross-Origin Resource Sharing)
  cors:
    allowed_origins:
      - "http://localhost:3000"
      - "https://portal.company.com"
    allowed_methods:
      - "GET"
      - "POST"
      - "PUT"
      - "DELETE"
      - "OPTIONS"
    allowed_headers:
      - "Authorization"
      - "Content-Type"
      - "Range"

# WebRTC & WHEP Configuration
webrtc:
  # External public IP announced to remote browsers in SDP answers
  public_ip: "203.0.113.50"
  
  # UDP Port allocation range for ICE media transport
  port_range_start: 50000
  port_range_end: 50100
  
  # STUN & TURN Servers for NAT Traversal
  stun_servers:
    - "stun:stun.l.google.com:19302"
  turn_servers:
    - url: "turn:turn.example.com:3478"
      username: "ruseon_user"
      credential: "secret_password"

# Structured Logging Configuration
logging:
  # Output format: "json" (production) or "console" (development pretty-print)
  format: "json"
  
  # Minimum log level: trace, debug, info, warn, error, fatal
  level: "info"
  
  # Include source code file and line numbers
  caller: false

2. Server Parameters Reference Table ​

KeyTypeDefaultDescription
server.hoststring"0.0.0.0"IP address interface to bind
server.portinteger8080Main TCP port for HTTP, REST API, WHEP, and HLS
server.tls.enabledbooleanfalseEnable native TLS encryption
webrtc.public_ipstring""Public IPv4/IPv6 address for WebRTC ICE candidates
webrtc.port_range_startinteger50000Start of UDP media port range
webrtc.port_range_endinteger50100End of UDP media port range
logging.levelstring"info"Log level (trace, debug, info, warn, error)

Released under the MIT License.