diff --git a/.env.production.example b/.env.production.example index a85d5a3..7898c23 100644 --- a/.env.production.example +++ b/.env.production.example @@ -119,19 +119,31 @@ APP_VERSION=latest # Pojedynczy webinar moze wybrac wlasnego w formularzu. VIDEO_PROVIDER=NONE -# Adres serwera LiveKit widziany przez przegladarke uczestnika. -# Klucze API ustawia sie w panelu, tak samo jak dane SMTP: nie ma ich tutaj, -# zeby zmiana nie wymagala restartu ani dostepu do serwera. +# Adres serwera LiveKit widziany przez PRZEGLADARKE uczestnika: publiczna +# domena z waznym certyfikatem, bo klient laczy sie z nia po wss://. LIVEKIT_URL= +# Adres widziany przez BACKEND, do wywolan API i nagrywania przez Egress. +# Puste oznacza "ten sam co publiczny". W sieci Dockera podaj `ws://livekit:7880`: +# backend nie musi wtedy wychodzic na zewnatrz i wracac przez nginx po to, zeby +# porozmawiac z kontenerem stojacym obok. +LIVEKIT_INTERNAL_URL= + # ----------------------------------------------------------------------------- # PROFIL LIVEKIT: wlasny serwer wideo # ----------------------------------------------------------------------------- # Wypelnij wylacznie, gdy stawiasz serwer u siebie: # docker compose --profile livekit up -d # -# Klucz i sekret musza byc te same tutaj i w panelu (Ustawienia > Wideo): -# tutaj konfiguruja serwer, w panelu sluza do podpisywania tokenow. +# Klucz i sekret sluza DWOM rzeczom naraz: konfiguruja serwer LiveKit +# i trafiaja do backendu, ktory podpisuje nimi tokeny dostepu oraz zleca +# nagrywanie. Dlatego wystarczy wpisac je TUTAJ, a nie takze w panelu: +# `SettingsService` czyta baze, potem srodowisko, potem wartosc domyslna. +# +# Puste `app_settings` jest przy tym stanem NORMALNYM, a nie brakiem +# konfiguracji: zapytanie do bazy o klucze LIVEKIT nie zwroci niczego takze +# na dzialajacej instancji. Stan faktyczny czyta sie z wypisu +# `SettingsStartupReport` w logu backendu. LIVEKIT_API_KEY= LIVEKIT_API_SECRET= diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index e90a45a..697f9eb 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -94,7 +94,33 @@ services: # Ustawia sie ja w panelu administracyjnym, w sekcji Ustawienia, a wartosci # trafiaja do tabeli app_settings. Zmienne srodowiskowe mialyby nizszy # priorytet, ale ich obecnosc tutaj myliloby co jest zrodlem prawdy. + # + # WIDEO IDZIE INACZEJ, I TO JEST SWIADOME + # ------------------------------------------------------------------- + # Dostawca wideo i jego klucze sa TUTAJ, a nie w panelu, bo naleza do + # infrastruktury instancji, tak samo jak adres MinIO czy baza: stawia + # sie je razem z serwerem, a nie zmienia z tygodnia na tydzien. Adres + # LiveKit musi przy tym zgadzac sie z domena, ktora obsluguje nginx + # hosta, wiec i tak ustawia go ten, kto wdraza, a nie administrator + # tresci. + # + # BEZ TYCH CZTERECH LINII WIDEO NIE DZIALA WCALE. `SettingsService` + # czyta baze, potem srodowisko, potem wartosc domyslna, wiec puste + # `app_settings` jest tu stanem NORMALNYM, a nie brakiem konfiguracji: + # zapytanie do bazy o klucze LIVEKIT nie zwroci niczego takze na + # dzialajacej instancji. Stan faktyczny czyta sie z wypisu + # `SettingsStartupReport` w logu backendu. VIDEO_PROVIDER: ${VIDEO_PROVIDER:-none} + # Adres widziany przez PRZEGLADARKE: publiczna domena z waznym + # certyfikatem, bo laczy sie z nia klient po wss://. + LIVEKIT_URL: ${LIVEKIT_URL:-} + # Adres widziany przez BACKEND, do wywolan API i Egress. Puste oznacza + # ten sam co publiczny. W sieci Dockera to `ws://livekit:7880`: backend + # nie musi wychodzic na zewnatrz i wracac przez nginx po to, zeby + # porozmawiac z kontenerem obok. + LIVEKIT_INTERNAL_URL: ${LIVEKIT_INTERNAL_URL:-} + LIVEKIT_API_KEY: ${LIVEKIT_API_KEY:-} + LIVEKIT_API_SECRET: ${LIVEKIT_API_SECRET:-} CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS} LOG_LEVEL_ROOT: ${LOG_LEVEL_ROOT:-INFO} LOG_LEVEL_APP: ${LOG_LEVEL_APP:-INFO}