79 lines
3.1 KiB
YAML
79 lines
3.1 KiB
YAML
# Konfiguracja serwera LiveKit.
|
|
#
|
|
# Klucze API nie sa tutaj: podaje je zmienna LIVEKIT_KEYS w docker-compose,
|
|
# zeby nie trzymac sekretow w pliku wchodzacym do repozytorium.
|
|
|
|
port: 7880
|
|
|
|
rtc:
|
|
# Zakres portow UDP.
|
|
#
|
|
# **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.
|
|
#
|
|
# 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
|
|
tcp_port: 7881
|
|
# Adres, ktory serwer rozglasza uczestnikom jako swoj.
|
|
#
|
|
# `use_external_ip: true` na produkcji: serwer sam wykrywa adres publiczny,
|
|
# bo bez tego rozglaszalby adres wewnetrzny kontenera.
|
|
#
|
|
# **Przy uruchomieniu lokalnym trzeba to wylaczyc i podac 127.0.0.1**
|
|
# zmienna NODE_IP: inaczej serwer rozglasza publiczny adres lacza, a
|
|
# przegladarka na tej samej maszynie probuje sie tam polaczyc i nie dochodzi
|
|
# do wymiany mediow. Objawia sie to tak, ze uczestnik dolacza do pokoju
|
|
# i widzi liste obecnych, ale nie slyszy i nie widzi nikogo.
|
|
#
|
|
# UWAGA: `use_external_ip: true` **nadpisuje** zmienna NODE_IP. Przy
|
|
# uruchomieniu lokalnym trzeba ustawic tu `false`, inaczej serwer i tak
|
|
# wykryje publiczny adres lacza i zignoruje 127.0.0.1.
|
|
use_external_ip: false
|
|
|
|
# Kandydaci ICE rozglaszani takze po TCP.
|
|
#
|
|
# Media ida normalnie po UDP, ale przy uruchomieniu lokalnym w Dockerze
|
|
# kontener Egress i przegladarka na hoscie widza serwer pod **roznymi
|
|
# adresami**: przegladarka pod 127.0.0.1, Egress pod adresem kontenera.
|
|
# Serwer rozglasza jeden adres (NODE_IP), wiec jedna z tych stron nie
|
|
# zestawi polaczenia po UDP.
|
|
#
|
|
# TCP jest tu droga wspolna: dziala niezaleznie od tego, ktory adres
|
|
# zostal rozgloszony, bo polaczenie zestawia sie na porcie 7881, do ktorego
|
|
# obie strony docieraja. Na produkcji, gdzie serwer ma jeden adres publiczny,
|
|
# ta opcja nie jest potrzebna, ale nie szkodzi: TCP zostaje droga zapasowa
|
|
# dla uczestnikow za firewallem blokujacym UDP.
|
|
use_ice_lite: false
|
|
|
|
# TURN: przekazywanie ruchu dla uczestnikow za restrykcyjnym NAT-em.
|
|
# Serwer coturn stoi obok, w tym samym profilu.
|
|
turn:
|
|
enabled: false
|
|
|
|
# Redis: kanal do Egress.
|
|
#
|
|
# **Wymagany do nagrywania.** Serwer wrzuca tu zadanie nagrania, a Egress je
|
|
# odbiera; bez Redisa serwer przyjmuje zadanie, nie ma go komu przekazac
|
|
# i nagrywanie konczy sie timeoutem, mimo ze sam serwer dziala poprawnie.
|
|
#
|
|
# Do samych spotkan Redis nie jest potrzebny: serwer w trybie jednowezlowym
|
|
# radzi sobie bez niego. Adres wskazuje usluge z tego samego profilu.
|
|
redis:
|
|
address: redis:6379
|
|
|
|
# Logi czyta administrator w terminalu, wiec bez nadmiaru szczegolow.
|
|
logging:
|
|
level: info
|
|
json: false
|
|
|
|
# Pokoj znika po wyjsciu ostatniego uczestnika. Nie trzymamy pustych pokoi:
|
|
# webinar konczy sie raz, a pusty pokoj zajmowalby pamiec do restartu serwera.
|
|
room:
|
|
empty_timeout: 300
|
|
max_participants: 0
|