Instalacja
Zmienne środowiskowe wdrożenia
Minimalny zestaw zmiennych środowiskowych używanych przez przewodniki instalacji, z odnośnikami do pełnego opisu.
Zmienne środowiskowe wdrożenia
Ta strona zawiera listę zmiennych, które większość operatorów potrzebuje podczas instalacji. Pełny katalog znajdziesz w Opisie zmiennych środowiskowych.
Wymagane zmienne podstawowe
| Zmienna | Przeznaczenie |
|---|---|
DB_URL | Adres URL JDBC dla PostgreSQL, zazwyczaj jdbc:postgresql://postgres:5432/quotenode wewnątrz Docker Compose. |
DB_NAME | Nazwa bazy danych PostgreSQL. |
DB_USERNAME | Nazwa użytkownika aplikacji PostgreSQL. |
DB_PASSWORD | Hasło do PostgreSQL. Użyj długiej, losowej wartości. |
DB_ENCRYPTION_KEY | 64-znakowy klucz szesnastkowy do szyfrowania na poziomie aplikacji. Przechowuj go bezpiecznie. |
TIMING_TOKEN_SECRET | Tajny klucz HMAC do weryfikacji bezpieczeństwa tokenów czasowych. |
PUBLIC_LINK_PASSWORD_SESSION_SECRET | Tajny klucz dla sesji linków publicznych chronionych hasłem/PIN-em. |
CORS_ALLOWED_ORIGINS | Dokładne adresy pochodzenia przeglądarki, które mogą wywoływać backend. |
Generowanie sekretów w systemie Linux/macOS:
openssl rand -hex 32
openssl rand -base64 32
Zmienne publicznego adresu URL
| Zmienna | Przeznaczenie |
|---|---|
CORS_ALLOWED_ORIGINS | Musi dokładnie odpowiadać adresowi URL przeglądarki, na przykład https://crm.example.com. |
NOTIFICATIONS_PUBLIC_PREFERENCES_URL | Publiczny adres URL do linków z preferencjami powiadomień, na przykład https://crm.example.com/notifications/preferences. |
DOMAIN | Używane przez wdrożenia Docker Compose z wewnętrznym proxy. Coolify zazwyczaj zarządza domenami poza aplikacją. |
SERVICE_URL_FRONTEND | Opcjonalna zmienna kompatybilnościowa dla szablonów operatorów i przyszłej automatyzacji wdrożenia; obecny plik compose Coolify nie korzysta z niej bezpośrednio. Utrzymuj ją zgodną z adresem pochodzenia frontendu, jeśli Twoje wdrożenie jej używa. |
Zmienne e-mail
| Zmienna | Przeznaczenie |
|---|---|
SMTP_HOST | Nazwa hosta serwera SMTP. |
SMTP_PORT | Port SMTP, zazwyczaj 587. |
SMTP_USERNAME | Nazwa użytkownika konta SMTP. |
SMTP_PASSWORD | Hasło do SMTP lub hasło aplikacji. |
SMTP_AUTH | Zazwyczaj true dla produkcyjnego SMTP. |
SMTP_STARTTLS | Zazwyczaj true dla portu 587. |
NOTIFICATIONS_ENABLED | Włącza powiadomienia. |
NOTIFICATIONS_EMAIL_ENABLED | Włącza dostarczanie powiadomień przez e-mail. |
Zmienne PDF, kopii zapasowych i bezpieczeństwa
| Zmienna | Zalecana wartość w wersji beta | Uwagi |
|---|---|---|
PDF_ENABLED | true | Wymaga Gotenberg w stosie. |
FEATURE_2FA_ENABLED | true | Włącza przepływy dwuskładnikowego uwierzytelniania. |
SECURITY_BOT_DETECTION_ENABLED | true | Utrzymuje aktywne zabezpieczenia linków publicznych przed botami. |
SECURITY_TRUSTED_PROXIES | puste (wykrywane automatycznie) | Dodatkowe zaufane peery reverse proxy (literalne IP/CIDR i/lub nazwy hostów usług). Zwykle zostaw puste: IP klienta jest wykrywane automatycznie za wewnętrznymi proxy (zakresy prywatne/loopback) i CDN-ami jak Cloudflare (przez CF-Connecting-IP). Ustaw tylko dla nietypowego proxy, którego peer transportowy ma adres publiczny. Nagłówki przekazujące od bezpośredniego (niewewnętrznego) peera są zawsze ignorowane. Sprawdź tryb resolvera w Administracja → Bezpieczeństwo → stan efektywny. |
SECURITY_IP_WHITELIST | puste | Opcjonalna operatorska lista dozwolonych IP (IP/CIDR oddzielone przecinkami). Po włączeniu obejmuje całą powierzchnię administracyjną, łącznie z ekranami logowania i 2FA. Nadrzędna wobec ustawienia w aplikacji i egzekwowana przy starcie (bez auto-rollbacku — upewnij się, że Twój adres jest objęty). |
SECURITY_IP_WHITELIST_FORCE_DISABLE | false | Awaryjne: ustaw true + restart, aby odzyskać dostęp po blokadzie listy IP (również gdy nie da się zalogować). Tylko ENV. |
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS | 120 | Jak długo włączenie/zawężenie listy w aplikacji pozostaje oczekujące, zanim automatycznie wróci do poprzedniej listy, jeśli sesja nie potwierdzi ponownie (ochrona przed blokadą). Nie dotyczy powyższej zmiennej ENV. |
BACKUP_ENABLED | true dla produkcji, opcjonalne dla pierwszej lokalnej próby | Używaj razem z przetestowanym procesem przywracania. |
BACKUP_CRON | 0 0 2 * * * | Domyślnie codziennie o 02:00. |
GEOIP_ENABLED | false | Tylko przełącznik egzekwowania wg krajów — zarazem przełącznik awaryjny (break-glass). Baza ładuje się i aktualizuje niezależnie (zob. GEOIP_AUTO_UPDATE), więc może być gotowa, gdy egzekwowanie jest wyłączone. Ustaw false + restart, aby odzyskać dostęp po blokadzie kraju przez GeoIP — to niezawodnie wyłącza egzekwowanie, niezależnie od obecności bazy. |
SECURITY_GEOIP_ALLOWED_COUNTRIES | puste | Lista dozwolonych krajów ISO 3166-1 alpha-2 (np. PL,DE); wielkie litery i walidacja. Puste = brak ograniczeń. |
LOG_LEVEL | INFO dla pierwszego wdrożenia, obniż później w razie potrzeby | Użyj diagnostyki administratora dla tymczasowego zwiększenia poziomu. |
Zmienne sprawdzania wersji
| Zmienna | Przeznaczenie |
|---|---|
VITE_RELEASE_CHECK_ENABLED | Włącza sprawdzanie nowych wersji przez administratora. |
VITE_RELEASE_MANIFEST_URL | Domyślnie https://quotenode.dev/releases/latest.json. |
APP_VERSION | Wersja wydania lub tag obrazu. Może być puste dla wdrożeń ze źródeł. |
APP_CHANNEL | alpha, beta, rc, dev lub stable. |
APP_COMMIT_SHA | SHA commitu osadzone w metadanych kompilacji, gdy dostępne. |
APP_BUILD_TIME | Znacznik czasu kompilacji. |
APP_BUILD_NUMBER | Numer kompilacji CI. |
APP_SOURCE_REF | Gałąź lub tag źródłowy. |
APP_IMAGE_TAG | Tag obrazu wybrany przez wdrożenie. |
Bezpieczeństwo licencji
Nigdy nie włączaj pomijania weryfikacji podpisu w prawdziwym wdrożeniu:
LICENSE_SKIP_SIGNATURE_CHECK=false
Ustaw tę zmienną wyraźnie na false w środowiskach produkcyjnych i beta. Plik compose domyślnie ustawia false gdy zmienna jest pominięta, ale prawdziwe wdrożenia nie powinny polegać na domyślnej wartości dla kontroli bezpieczeństwa licencji. Użyj true tylko w jednorazowych środowiskach lokalnego rozwoju.