Files
Piik/.env.example
T
AAA f733d8f22b refactor(route): admit exact TURN allocations (#208)
* refactor(route): admit exact TURN allocations

* fix(route): preserve exact selected fallback lifecycles

* fix(route): preserve fallback replacement authority
2026-08-23 04:04:37 +08:00

61 lines
2.7 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
# One steady outbound media-copy capacity for every non-server endpoint.
# A peer child or Host SFU publication consumes one copy. Valid values: 1, 2, 3.
ENDPOINT_MEDIA_COPY_CAPACITY=2
# Optional automatic SFU fallback. Set PEER_ASSISTED_MEDIA=true and supply all
# six values together; leaving them empty keeps LiveKit completely dormant.
# Capacities have no defaults and must come from this deployment's measurements.
# Production requires wss and an independent API secret of 32+ bytes.
LIVEKIT_URL=
LIVEKIT_API_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
SFU_INGRESS_CAPACITY=
SFU_EGRESS_CAPACITY=
# Optional one-shot TURN/UDP transport for a controller-selected edge after
# peer and SFU recovery are exhausted. Set all four 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
# SELECTED_EDGE_TURN_ALLOCATION_CAPACITY=replace-with-measured-positive-integer
# 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_URL=http://127.0.0.1:7880
# LIVEKIT_API_KEY=replace-with-a-livekit-api-key
# LIVEKIT_API_SECRET=replace-with-at-least-32-independent-random-bytes
# SFU_INGRESS_CAPACITY=replace-with-measured-positive-integer
# SFU_EGRESS_CAPACITY=replace-with-measured-positive-integer
# ENDPOINT_MEDIA_COPY_CAPACITY=2