Preserve exact selected edges across unrelated route revisions, demote corroborated bad relay parents, and parameterize the bounded endpoint cap while retaining the production default of two.
55 lines
2.4 KiB
Bash
55 lines
2.4 KiB
Bash
# Application
|
|
# Use 127.0.0.1 instead when only a same-host reverse proxy should connect.
|
|
LISTEN_HOST=0.0.0.0
|
|
PORT=8787
|
|
# For LAN viewers, replace localhost with this computer's LAN address.
|
|
PUBLIC_BASE_URL=http://localhost:8787
|
|
# Include both the host browser origin and PUBLIC_BASE_URL when they differ.
|
|
ALLOWED_ORIGINS=http://localhost:8787
|
|
# Production-required site access secret. Local development/tests may leave it
|
|
# empty. A non-empty value must contain 8-128 visible ASCII bytes (0x21-0x7e).
|
|
SITE_ACCESS_PASSWORD=
|
|
# Optional SQLite file for persistent rooms. Requires SITE_ACCESS_PASSWORD.
|
|
# The systemd example creates /var/lib/screener for this production path.
|
|
ROOM_DATABASE_PATH=
|
|
# Applies only to temporary rooms when ROOM_DATABASE_PATH is empty.
|
|
ROOM_TTL_SECONDS=14400
|
|
MAX_ROOMS=1000
|
|
MAX_VIEWERS_PER_ROOM=8
|
|
# Bounded standard-WebRTC relay/SFU controller for every room when true.
|
|
# Keep false outside measured tests.
|
|
PEER_ASSISTED_MEDIA=false
|
|
# Per-endpoint peer upload budget. Default 2; explicit range 1-3.
|
|
MAX_PEER_RELAY_DOWNSTREAM_EDGES=2
|
|
|
|
# Optional automatic SFU fallback capacity. Set PEER_ASSISTED_MEDIA=true and
|
|
# supply all three values together; leaving them empty keeps LiveKit completely
|
|
# dormant. Production requires wss and an independent API secret of 32+ bytes.
|
|
LIVEKIT_URL=
|
|
LIVEKIT_API_KEY=
|
|
LIVEKIT_API_SECRET=
|
|
# Effective only when the complete LiveKit tuple is configured. Valid range: 1-2.
|
|
MAX_SFU_ROOTS_PER_ROOM=2
|
|
|
|
# Optional one-shot TURN/UDP transport for one controller-selected edge after
|
|
# peer and SFU recovery are exhausted. Set all three values together.
|
|
# SELECTED_EDGE_TURN_URLS=turn:turn.example.com:3478?transport=udp
|
|
# SELECTED_EDGE_TURN_SHARED_SECRET=replace-with-32-or-more-independent-random-bytes
|
|
# SELECTED_EDGE_TURN_CREDENTIAL_TTL_SECONDS=120
|
|
|
|
# Ordinary peer ICE discovery. Production requires at least one STUN URL.
|
|
# Separate multiple URLs with commas.
|
|
STUN_URLS=
|
|
|
|
# Minimal production example (use independent untracked secrets):
|
|
# SITE_ACCESS_PASSWORD=replace-with-an-independent-access-key
|
|
# ROOM_DATABASE_PATH=/var/lib/screener/rooms.sqlite
|
|
# STUN_URLS=stun:stun.example.com:3478
|
|
# Automatic SFU fallback (requires PEER_ASSISTED_MEDIA=true and does not
|
|
# replace STUN above):
|
|
# LIVEKIT_URL=wss://share.example.com
|
|
# LIVEKIT_API_KEY=replace-with-a-livekit-api-key
|
|
# LIVEKIT_API_SECRET=replace-with-at-least-32-independent-random-bytes
|
|
# MAX_SFU_ROOTS_PER_ROOM=2
|
|
# MAX_PEER_RELAY_DOWNSTREAM_EDGES=2
|