LiveKit: jeden port UDP dla wszystkich (mux) zamiast zakresu
Deploy PROD / deploy (push) Failing after 0s

Zakres port_range 50000-50100 rezerwowal osobny port na kazde polaczenie.
Test z 200 botami wszedl dokladnie w 49, a log serwera pokazal kandydata
UDP tylko przy 52 polaczeniach i TCP przy wszystkich 204: kolejni
uczestnicy dostawali juz tylko TCP. Zmienna UDP_PORT z zakresem nie
wlaczala muxa, bo przegrywala z zakresem z pliku.

Teraz udp_port: 7882 (sprawdzone lokalnie: rtc.portUDP Start 7882, End 0),
nowa zmienna LIVEKIT_UDP_PORT, zeby stara LIVEKIT_UDP_RANGE w .env nie
mogla przywrocic zakresu.

Automatyczne wdrozenie nie dotyka profilu livekit: kontener trzeba
przeladowac recznie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-28 09:16:01 +02:00
parent 515d9a41e2
commit c53ad95104
7 changed files with 57 additions and 37 deletions
+18 -10
View File
@@ -6,18 +6,26 @@
port: 7880
rtc:
# Zakres portow UDP.
# JEDEN PORT UDP DLA WSZYSTKICH (tryb mux).
#
# **Serwer NIE rozwija zmiennych srodowiskowych w tym pliku**, wiec wartosci
# sa tu wpisane wprost. Zakres przekazywany jest dodatkowo zmienna UDP_PORT
# w docker-compose i to ona ma pierwszenstwo: dzieki temu instancja, ktora
# musi ominac porty zajete w systemie, zmienia jedna wartosc w .env,
# zamiast edytowac ten plik.
# Wczesniej byl tu zakres `port_range_start/end` 50000-50100. W tym trybie
# serwer REZERWUJE OSOBNY PORT NA KAZDE POLACZENIE, a uczestnik ma ich do
# dwoch. Test z botami pokazal skutek: po okolo 50 osobach pula sie konczyla
# i kolejni dostawali juz tylko kandydata TCP na 7881. Przegladarka wchodzi
# wtedy po TCP (zacinajacy sie obraz i dzwiek przy kazdej utracie pakietu),
# klient bez obslugi ICE-TCP nie wchodzi wcale. Zmienna UDP_PORT z zakresem
# NIE wlaczala muxa: przegrywala z zakresem z tego pliku.
#
# Musi zgadzac sie z mapowaniem portow w docker-compose i byc otwarty
# na firewallu. To jest glowna droga ruchu audio i wideo.
port_range_start: 50000
port_range_end: 50100
# W trybie mux wszyscy uczestnicy dziela jeden port, rozrozniani po
# identyfikatorze sesji ICE. Liczba osob nie zalezy juz od liczby portow.
#
# **Serwer NIE rozwija zmiennych srodowiskowych w tym pliku.** Port idzie
# takze zmienna UDP_PORT z docker-compose i ona ma pierwszenstwo, wiec
# instancja z zajetym 7882 zmienia jedna wartosc w .env (LIVEKIT_UDP_PORT).
# **Nie dopisywac tu z powrotem port_range_start/end**: zakres wylacza mux.
#
# Port musi byc otwarty na firewallu. To glowna droga ruchu audio i wideo.
udp_port: 7882
tcp_port: 7881
# Adres, ktory serwer rozglasza uczestnikom jako swoj.
#