mirror of
https://github.com/livekit/livekit.git
synced 2026-03-30 22:05:39 +00:00
140 lines
5.3 KiB
YAML
140 lines
5.3 KiB
YAML
# main TCP port for RoomService and RTC endpoint
|
|
# for production setups, this port should be placed behind a load balancer with TLS
|
|
port: 7880
|
|
|
|
# log level, valid values: debug, info, warning, error
|
|
log_level: info
|
|
|
|
# when redis is set, LiveKit will automatically operate in a fully distributed fashion
|
|
# clients could connect to any node and be routed to the same room
|
|
redis:
|
|
address: redis.host:6379
|
|
# db: 0
|
|
# username: myuser
|
|
# password: mypassword
|
|
|
|
# WebRTC configuration
|
|
rtc:
|
|
# UDP ports to use for client traffic.
|
|
# this port range should be open for inbound traffic on the firewall
|
|
port_range_start: 50000
|
|
port_range_end: 60000
|
|
# when set, LiveKit enable WebRTC ICE over TCP when UDP isn't available
|
|
# this port *cannot* be behind load balancer or TLS, and must be exposed on the node
|
|
# WebRTC transports are encrypted and do not require additional encryption
|
|
# only 80/443 on public IP are allowed if less than 1024
|
|
tcp_port: 7881
|
|
# when set to true, attempts to discover the host's public IP via STUN
|
|
# this is useful for cloud environments such as AWS & Google where hosts have an internal IP
|
|
# that maps to an external one
|
|
use_external_ip: true
|
|
# when set, LiveKit will attempt to use a UDP mux so all UDP traffic goes through
|
|
# a single port. This simplifies deployment, but mux will become an overhead for
|
|
# highly trafficked deployments.
|
|
# port_range_start & end must not be set for this config to take effect
|
|
# udp_port: 7882
|
|
# optional settings
|
|
# # when using REMB, the max bitrate that the SFU would accept, defaults to 3Mbps
|
|
# max_bitrate: 3145728
|
|
# # number of packets to buffer in the SFU, defaults to 500
|
|
# packet_buffer_size: 500
|
|
# # optional STUN servers for LiveKit clients to use. Clients will be configured to use these STUN servers automatically.
|
|
# # by default LiveKit clients use Google's public STUN servers
|
|
# stun_servers:
|
|
# - server1
|
|
# # minimum amount of time between pli/fir rtcp packets being sent to an individual
|
|
# # producer. Increasing these times can lead to longer black screens when participants join,
|
|
# # while reducing them can lead to higher producer bitrates.
|
|
# pli_throttle:
|
|
# low_quality: 500ms
|
|
# mid_quality: 1s
|
|
# high_quality: 1s
|
|
|
|
# when enabled, LiveKit will expose prometheus metrics on :6789/metrics
|
|
# prometheus_port: 6789
|
|
|
|
# API key / secret pairs.
|
|
# Keys are used for JWT authentication, server APIs would require a keypair in order to generate access tokens
|
|
# and make calls to the server
|
|
keys:
|
|
key1: secret1
|
|
key2: secret2
|
|
|
|
# Default room config
|
|
# Each room created will inherit these settings. If rooms are created explicitly with CreateRoom, they will take
|
|
# precedence over defaults
|
|
# room:
|
|
# # number of seconds to leave a room open when it's empty
|
|
# empty_timeout: 300
|
|
# # limit number of participants that can be in a room, 0 for no limit
|
|
# max_participants: 0
|
|
# # only accept specific codecs for clients publishing to this room
|
|
# # this is useful to standardize codecs across clients
|
|
# # other supported codecs are video/h264, video/vp9
|
|
# enabled_codecs:
|
|
# - mime: audio/opus
|
|
# - mime: video/vp8
|
|
# # allow tracks to be unmuted remotely, defaults to false
|
|
# # tracks can always be muted from the Room Service APIs
|
|
# enable_remote_unmute: true
|
|
|
|
# Webhooks
|
|
# when configured, LiveKit notifies your URL handler with room events
|
|
# webhook:
|
|
# # the API key to use in order to sign the message
|
|
# # this must match one of the keys LiveKit is configured with
|
|
# api_key: <api_key>
|
|
# # list of URLs to be notified of room events
|
|
# urls:
|
|
# - https://your-host.com/handler
|
|
|
|
# customize audio level sensitivity
|
|
# audio:
|
|
# # minimum level to be considered active, 0-127, where 0 is loudest
|
|
# # defaults to 30
|
|
# active_level: 30
|
|
# # percentile to measure, a participant is considered active if it has exceeded the
|
|
# # ActiveLevel more than MinPercentile% of the time
|
|
# # defaults to 40
|
|
# min_percentile: 40
|
|
# # frequency in ms to notify changes to clients, defaults to 500
|
|
# update_interval: 500
|
|
# # to prevent speaker updates from too jumpy, smooth out values over N samples
|
|
# smooth_intervals: 4
|
|
|
|
# turn server
|
|
# turn:
|
|
# # Uses TLS. Requires cert and key pem files by either:
|
|
# # - using turn.secretName if deploying with our helm chart, or
|
|
# # - setting LIVEKIT_TURN_CERT and LIVEKIT_TURN_KEY env vars with file locations, or
|
|
# # - using cert_file and key_file below
|
|
# # defaults to false
|
|
# enabled: false
|
|
# # defaults to 3478 - recommended to 443 if not running HTTP3/QUIC server
|
|
# # only 53/80/443 are allowed if less than 1024
|
|
# udp_port: 3478
|
|
# # defaults to 5349 - if not using a load balancer, this must be set to 443
|
|
# tls_port: 5349
|
|
# # needs to match tls cert domain
|
|
# domain: turn.myhost.com
|
|
# # optional
|
|
# # cert_file: /path/to/cert.pem
|
|
# # key_file: /path/to/key.pem
|
|
|
|
# Region of the current node. Required if using regionaware node selector
|
|
# region: us-west-2
|
|
|
|
# # node selector
|
|
# node_selector:
|
|
# # default: random. valid values: random, sysload, regionaware
|
|
# kind: sysload
|
|
# # used in sysload and regionaware
|
|
# # do not assign room to node if load per CPU exceeds sysload_limit
|
|
# sysload_limit: 0.7
|
|
# # used in regionaware
|
|
# # list of regions and their lat/lon coordinates
|
|
# regions:
|
|
# - name: us-west-2
|
|
# lat: 44.19434095976287
|
|
# lon: -123.0674908379146
|