Skip to content

Konfiguracja serwera

kauczu edited this page Oct 16, 2026 · 1 revision

Instalacja serwera krok po kroku: deploy/README.md. Skrypt instalacyjny ustawia wszystko, co potrzebne; ta strona opisuje opcje dla zaawansowanych.

Z czego składa się serwer

Tutaj (sygnalizacja, aplikacja WWW, SFU) + Caddy (automatyczny HTTPS) + coturn (TURN), wszystko w Dockerze. Aplikacja przychodzi jako gotowy obraz ghcr.io/kauczu/tutaj (amd64, arm64), budowany i testowany przez CI.

Porty: 80/443 tcp, 3478 tcp+udp (TURN), 40000 tcp+udp (SFU), 49160–49200 udp (przekaźnik TURN).

Ochrona serwera publicznego

Publiczny serwer z darmowym TURN i SFU łatwo nadużyć. Domyślnie (w obrazie Dockera) działają więc:

  • lista dozwolonych stron (originów) – sygnalizacji nie użyje cudza strona,
  • limity na adres IP – połączenia, otwarte pokoje, dołączenia na minutę,
  • krótko ważne poświadczenia TURN (4 h) oraz limity coturn – przepustowość na sesję, liczba alokacji.

Właściciel nie jest ograniczany. Instalator generuje OWNER_KEY i wypisuje go na koniec. Wpisany w lobby („Urządzenia, jakość i ustawienia zaawansowane” → „Klucz właściciela”) zdejmuje limity pokoi i dołączeń i daje poświadczenia TURN ważne 24 h. Pełne zwolnienie, także z limitu połączeń, zapewnia TRUSTED_IPS (np. stały adres domowy).

Zmienne środowiskowe

Zmienna Domyślnie Opis
PORT / HOST 3000 / 0.0.0.0 nasłuch HTTP + WebSocket (/ws)
HTTPS_PORT – włącza HTTPS (certyfikat z TLS_KEY/TLS_CERT lub generowany w CERT_DIR)
PUBLIC_URL z nagłówka Host adres używany w linkach zaproszeń
MAX_PEERS 4 limit osób w pokoju
STUN_URLS Google + Cloudflare lista po przecinku
TURN_URLS – np. turn:meet.example.com:3478
TURN_SECRET – wspólny sekret z coturn (use-auth-secret) – poświadczenia ważne TURN_TTL s
TURN_USERNAME / TURN_CREDENTIAL – alternatywnie stałe poświadczenia
SESSION_SECRET losowy podpis tokenów wznowienia sesji; ustaw, by rozmowy przeżywały restart serwera bez renegocjacji
CLIENT_DIR packages/client/dist katalog z aplikacją WWW
OWNER_KEY – klucz właściciela: zdejmuje limity, dłuższe poświadczenia TURN
TRUSTED_IPS – adresy/podsieci IPv4 bez limitów, np. 203.0.113.7,198.51.100.0/24
ALLOWED_ORIGINS origin z PUBLIC_URL strony, które mogą łączyć się z sygnalizacją; * wyłącza kontrolę
TRUST_PROXY – 1 = prawdziwe IP klienta z X-Forwarded-For (za reverse proxy)
LIMITS włączone przy NODE_ENV=production 0 wyłącza limity na IP
MAX_CONNECTIONS_PER_IP / MAX_ROOMS_PER_IP / JOINS_PER_MINUTE 20 / 5 / 30 limity na adres IP
TURN_TTL / OWNER_TURN_TTL 14400 / 86400 s ważność poświadczeń TURN (zwykli użytkownicy / właściciel)
SFU (lub flaga --sfu) wyłączone włącza SFU (mediasoup)
SFU_PORT 40000 jeden port UDP+TCP dla wszystkich mediów SFU
SFU_ANNOUNCED_ADDRESS pierwszy adres LAN publiczny IP/host, pod którym klienci łączą się z SFU (za NAT/Dockerem)
SFU_LISTEN_IP 0.0.0.0 interfejs nasłuchu SFU

Clone this wiki locally