165 lines
6.4 KiB
Bash
165 lines
6.4 KiB
Bash
# Konfiguracja instancji produkcyjnej.
|
|
#
|
|
# Skopiuj do .env.production i uzupelnij. Plik z realnymi wartosciami NIE trafia
|
|
# do repozytorium i nie moze byc kopiowany miedzy klientami.
|
|
#
|
|
# cp .env.production.example .env.production
|
|
# chmod 600 .env.production
|
|
#
|
|
# Wartosci sekretow sa celowo puste. Aplikacja nie wystartuje bez JWT_SECRET,
|
|
# a pozostale puste sekrety uniemozliwia dzialanie odpowiednich funkcji.
|
|
|
|
# =============================================================================
|
|
# BAZA DANYCH
|
|
# =============================================================================
|
|
|
|
# Nazwa bazy tworzonej przy pierwszym starcie kontenera postgres.
|
|
DB_NAME=webinar
|
|
|
|
# Uzytkownik bazy.
|
|
DB_USER=webinar
|
|
|
|
# Haslo uzytkownika bazy. WYMAGANE. Wygeneruj losowe, na przyklad:
|
|
# openssl rand -base64 24
|
|
# Baza nie jest wystawiona poza siec Dockera, ale haslo i tak musi byc mocne.
|
|
DB_PASSWORD=
|
|
|
|
# =============================================================================
|
|
# JWT
|
|
# =============================================================================
|
|
|
|
# Sekret podpisujacy tokeny. WYMAGANE, minimum 32 znaki.
|
|
# Aplikacja NIE WYSTARTUJE bez tej wartosci ani z krotsza niz 32 znaki.
|
|
# Nie da sie go zmienic przez panel, wylacznie tutaj. Wygeneruj:
|
|
# openssl rand -base64 48
|
|
# Zmiana sekretu uniewaznia wszystkie wydane tokeny, czyli wylogowuje wszystkich.
|
|
JWT_SECRET=
|
|
|
|
# Czas waznosci tokenu w minutach.
|
|
JWT_EXPIRATION_MINUTES=120
|
|
|
|
# =============================================================================
|
|
# PIERWSZE KONTO ADMINISTRATORA
|
|
# =============================================================================
|
|
# Uzywane tylko przy pierwszym starcie, gdy tabela users jest pusta.
|
|
# Po utworzeniu konta te zmienne nie maja juz znaczenia.
|
|
|
|
# Adres e-mail pierwszego administratora.
|
|
ADMIN_EMAIL=
|
|
|
|
# Haslo pierwszego administratora. Minimum 10 znakow.
|
|
# Gdy zostawisz puste, haslo zostanie wylosowane i wypisane JEDEN RAZ w logu:
|
|
# docker compose -f docker-compose.prod.yml logs backend | grep -A6 "UTWORZONO PIERWSZE KONTO"
|
|
# Zalecane: zostaw puste i odczytaj z logu, wtedy haslo nie lezy w pliku.
|
|
ADMIN_PASSWORD=
|
|
|
|
# =============================================================================
|
|
# MINIO
|
|
# =============================================================================
|
|
# Nagrania, materialy i zalaczniki. Nie jest wystawione poza siec Dockera.
|
|
|
|
# Klucz dostepu, jednoczesnie login do konsoli MinIO. WYMAGANE.
|
|
MINIO_ACCESS_KEY=
|
|
|
|
# Klucz tajny, jednoczesnie haslo do konsoli. WYMAGANE, minimum 8 znakow.
|
|
# Wygeneruj: openssl rand -base64 24
|
|
MINIO_SECRET_KEY=
|
|
|
|
# Bucket na pliki instancji.
|
|
MINIO_BUCKET=webinar
|
|
|
|
# =============================================================================
|
|
# APLIKACJA
|
|
# =============================================================================
|
|
|
|
# Publiczny adres instancji, z protokolem, bez ukosnika na koncu.
|
|
# Uzywany do budowania linkow w mailach i w zajawkach dla komunikatorow.
|
|
# Musi byc adresem HTTPS widocznym dla uczestnika, nie adresem wewnetrznym.
|
|
# Przyklad: https://webinary.klient.pl
|
|
APP_PUBLIC_URL=
|
|
|
|
# Dozwolone originy CORS, rozdzielone przecinkiem. Zwykle to samo co APP_PUBLIC_URL.
|
|
CORS_ALLOWED_ORIGINS=
|
|
|
|
# Port, na ktorym frontend nasluchuje na petli lokalnej serwera.
|
|
# Reverse proxy klienta przekazuje tu ruch. Zmien, gdy port jest zajety.
|
|
FRONTEND_PORT_EXPOSED=8081
|
|
|
|
# Znacznik wersji obrazow, przydatny przy wycofywaniu zmian.
|
|
APP_VERSION=latest
|
|
|
|
# =============================================================================
|
|
# POCZTA I BRAMKA SMS
|
|
# =============================================================================
|
|
#
|
|
# Tych ustawien NIE MA w tym pliku i nie nalezy ich tu dodawac.
|
|
#
|
|
# Konfiguracja SMTP i bramki SMS odbywa sie wylacznie przez panel
|
|
# administracyjny, w sekcji Ustawienia. Wartosci trafiaja do tabeli app_settings
|
|
# i maja pierwszenstwo przed zmiennymi srodowiskowymi. Haslo SMTP i klucz API
|
|
# bramki sa oznaczone jako sekrety: nigdy nie wracaja w odpowiedzi API, a puste
|
|
# pole w formularzu oznacza brak zmiany.
|
|
#
|
|
# Powody, dla ktorych nie trzymamy ich w .env:
|
|
# - zmiana nie wymaga restartu kontenera ani dostepu do serwera,
|
|
# - klient moze poprawic konfiguracje poczty samodzielnie,
|
|
# - sekrety nie leza w pliku na dysku obok reszty konfiguracji,
|
|
# - panel ma wbudowany test wysylki, ktory od razu pokazuje blad serwera SMTP.
|
|
#
|
|
# Po pierwszym uruchomieniu: zaloguj sie do panelu, wejdz w Ustawienia,
|
|
# uzupelnij sekcje "Konto e-mail (SMTP)" i "Bramka SMS", zapisz, a nastepnie
|
|
# uzyj bloku "Test konfiguracji" pod kazda sekcja.
|
|
|
|
# =============================================================================
|
|
# WIDEO
|
|
# =============================================================================
|
|
|
|
# Wybor implementacji VideoProvider. Brak implementacji na tym etapie.
|
|
# Domyslny dostawca instancji: NONE, LIVEKIT, JITSI albo DAILY.
|
|
# 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.
|
|
LIVEKIT_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.
|
|
LIVEKIT_API_KEY=
|
|
LIVEKIT_API_SECRET=
|
|
|
|
# Porty serwera. UDP jest **glowna droga ruchu audio i wideo**: bez otwarcia
|
|
# tego zakresu uczestnicy dolacza do pokoju, ale nie beda sie slyszec.
|
|
LIVEKIT_PORT=7880
|
|
LIVEKIT_TCP_PORT=7881
|
|
LIVEKIT_UDP_RANGE=50000-50100
|
|
|
|
# TURN: przekazuje ruch uczestnikom za restrykcyjnym NAT-em, czyli w praktyce
|
|
# wiekszosci osob w sieciach firmowych. Bez niego czesc uczestnikow nie
|
|
# zobaczy i nie uslyszy nikogo.
|
|
TURN_REALM=webinar.twojadomena.pl
|
|
TURN_USER=webinar
|
|
TURN_PASSWORD=
|
|
TURN_MIN_PORT=49160
|
|
TURN_MAX_PORT=49200
|
|
|
|
# =============================================================================
|
|
# DOKUMENTACJA I LOGI
|
|
# =============================================================================
|
|
|
|
# Swagger UI. Na produkcji zostaw false.
|
|
SWAGGER_ENABLED=false
|
|
|
|
# Poziom logow calej aplikacji.
|
|
LOG_LEVEL_ROOT=INFO
|
|
|
|
# Poziom logow kodu aplikacji. Na produkcji INFO, DEBUG tylko przy diagnozie.
|
|
LOG_LEVEL_APP=INFO
|