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.