Installation
Deployment-Umgebungsvariablen
Minimale Umgebungsvariablen, die von Installationsanleitungen verwendet werden, mit Links zur vollständigen Referenz.
Deployment-Umgebungsvariablen
Diese Seite listet die Variablen auf, die die meisten Betreiber während der Installation benötigen. Für den vollständigen Katalog siehe Umgebungsvariablen-Referenz.
Erforderliche Kernvariablen
| Variable | Zweck |
|---|---|
DB_URL | JDBC-URL für PostgreSQL, normalerweise jdbc:postgresql://postgres:5432/quotenode innerhalb von Docker Compose. |
DB_NAME | PostgreSQL-Datenbankname. |
DB_USERNAME | PostgreSQL-Anwendungsbenutzer. |
DB_PASSWORD | PostgreSQL-Passwort. Verwenden Sie einen langen zufälligen Wert. |
DB_ENCRYPTION_KEY | 64-stelliger Hex-Schlüssel für die Anwendungsverschlüsselung. Sicher sichern. |
TIMING_TOKEN_SECRET | HMAC-Secret für Timing-Token-Sicherheitsprüfungen. |
PUBLIC_LINK_PASSWORD_SESSION_SECRET | Secret für Passwort/PIN-geschützte öffentliche-Link-Sitzungen. |
CORS_ALLOWED_ORIGINS | Exakte Browser-Ursprünge, die das Backend aufrufen dürfen. |
Secrets auf Linux/macOS generieren:
openssl rand -hex 32
openssl rand -base64 32
Öffentliche URL-Variablen
| Variable | Zweck |
|---|---|
CORS_ALLOWED_ORIGINS | Muss exakt mit der Browser-URL übereinstimmen, zum Beispiel https://crm.example.com. |
NOTIFICATIONS_PUBLIC_PREFERENCES_URL | Öffentliche URL für Benachrichtigungs-Einstellungslinks, zum Beispiel https://crm.example.com/notifications/preferences. |
DOMAIN | Wird von internen Proxy-Docker-Compose-Bereitstellungen verwendet. Coolify verwaltet Domains normalerweise außerhalb der App. |
SERVICE_URL_FRONTEND | Optionale Kompatibilitätsvariable für Betreiber-Vorlagen und zukünftige Bereitstellungsautomatisierung; die aktuelle Coolify-Compose-Datei verbraucht sie nicht direkt. Halten Sie sie mit dem Frontend-Ursprung abgestimmt, wenn Ihre Bereitstellung sie verwendet. |
E-Mail-Variablen
| Variable | Zweck |
|---|---|
SMTP_HOST | SMTP-Server-Hostname. |
SMTP_PORT | SMTP-Port, normalerweise 587. |
SMTP_USERNAME | SMTP-Konto-Benutzername. |
SMTP_PASSWORD | SMTP-Passwort oder App-Passwort. |
SMTP_AUTH | Normalerweise true für Produktions-SMTP. |
SMTP_STARTTLS | Normalerweise true für Port 587. |
NOTIFICATIONS_ENABLED | Aktiviert Benachrichtigungen. |
NOTIFICATIONS_EMAIL_ENABLED | Aktiviert E-Mail-Zustellung für Benachrichtigungen. |
PDF-, Backup- und Sicherheitsvariablen
| Variable | Empfohlener Beta-Wert | Hinweise |
|---|---|---|
PDF_ENABLED | true | Erfordert Gotenberg im Stack. |
FEATURE_2FA_ENABLED | true | Aktiviert Zwei-Faktor-Authentifizierungsabläufe. |
SECURITY_BOT_DETECTION_ENABLED | true | Hält öffentliche-Link-Bot-Schutzmaßnahmen aktiv. |
SECURITY_TRUSTED_PROXIES | leer (automatisch erkannt) | Zusätzliche vertrauenswürdige Reverse-Proxy-Peers (literale IP/CIDR und/oder Service-Hostnamen). Normalerweise leer lassen: Die Client-IP wird hinter internen Proxys (private/Loopback-Bereiche) und CDNs wie Cloudflare (über CF-Connecting-IP) automatisch erkannt. Nur für ein ungewöhnliches Proxy setzen, dessen Transport-Peer eine öffentliche Adresse ist. Weiterleitungs-Header von einem direkten (nicht internen) Peer werden immer ignoriert. Den Resolver-Modus unter Administration → Sicherheit → effektiver Zustand prüfen. |
SECURITY_IP_WHITELIST | leer | Optionale Operator-IP-Allowlist (durch Kommas getrennte IP/CIDR). Wenn aktiviert, schützt sie die gesamte Admin-Oberfläche, einschließlich der Login- und 2FA-Bildschirme. Maßgeblich gegenüber der In-App-Einstellung und beim Start durchgesetzt (kein Auto-Rollback — stellen Sie sicher, dass Ihre eigene Adresse abgedeckt ist). |
SECURITY_IP_WHITELIST_FORCE_DISABLE | false | Notfall: true setzen + Neustart, um eine IP-Whitelist-Sperre zu beheben (auch wenn keine Anmeldung möglich ist). Nur ENV. |
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS | 120 | Wie lange ein In-App-Aktivieren/Einschränken der Whitelist ausstehend bleibt, bevor es automatisch auf die vorherige Liste zurückgesetzt wird, falls Ihre Sitzung nicht erneut bestätigt (Sperrschutz). Gilt nicht für die obige ENV-Variable. |
BACKUP_ENABLED | true für Produktion, optional für erste lokale Testphase | Mit einem getesteten Wiederherstellungsprozess verwenden. |
BACKUP_CRON | 0 0 2 * * * | Täglich um 02:00 Uhr als Standard. |
GEOIP_ENABLED | false | Nur Schalter für die Länder-Durchsetzung — zugleich Break-Glass-Schalter. Die Datenbank wird unabhängig geladen und aktualisiert (siehe GEOIP_AUTO_UPDATE), kann also bereit sein, während die Durchsetzung aus ist. false setzen + Neustart, um eine GeoIP-Ländersperre zu beheben — das deaktiviert die Durchsetzung zuverlässig, unabhängig davon, ob eine Datenbank vorhanden ist. |
SECURITY_GEOIP_ALLOWED_COUNTRIES | leer | ISO-3166-1-alpha-2-Erlaubnisliste (z. B. PL,DE); in Großbuchstaben und validiert. Leer = keine Einschränkung. |
LOG_LEVEL | INFO für erste Bereitstellung, später ggf. niedriger | Admin-Diagnose für temporäre Eskalation verwenden. |
Release-Check-Variablen
| Variable | Zweck |
|---|---|
VITE_RELEASE_CHECK_ENABLED | Aktiviert Admin-only Upstream-Release-Checks. |
VITE_RELEASE_MANIFEST_URL | Standardmäßig https://quotenode.dev/releases/latest.json. |
APP_VERSION | Release-Version oder Image-Tag. Kann für Source-Bereitstellungen leer sein. |
APP_CHANNEL | alpha, beta, rc, dev oder stable. |
APP_COMMIT_SHA | Commit-SHA, eingebettet in Build-Metadaten wenn verfügbar. |
APP_BUILD_TIME | Build-Zeitstempel. |
APP_BUILD_NUMBER | CI-Build-Nummer. |
APP_SOURCE_REF | Source-Branch oder -Tag. |
APP_IMAGE_TAG | Image-Tag, ausgewählt durch die Bereitstellung. |
Lizenzsicherheit
Aktivieren Sie die Signatur-Umgehung niemals in einer echten Bereitstellung:
LICENSE_SKIP_SIGNATURE_CHECK=false
Setzen Sie dies explizit auf false in Produktions- und Beta-Umgebungen. Die Compose-Datei standardmäßigt auf false, wenn die Variable ausgelassen wird, aber echte Bereitstellungen sollten sich nicht auf einen impliziten Standard für eine Lizenzsicherheitskontrolle verlassen. Verwenden Sie true nur in wegwerfbaren lokalen Entwicklungsumgebungen.