Files
Piik/.env.example
T
AAA 0a5c21025f fix(media): demote corroborated relay parents (#164)
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.
2026-08-22 03:55:11 +08:00

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