Zum Inhalt springen
Q
QuoteNode

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

VariableZweck
DB_URLJDBC-URL für PostgreSQL, normalerweise jdbc:postgresql://postgres:5432/quotenode innerhalb von Docker Compose.
DB_NAMEPostgreSQL-Datenbankname.
DB_USERNAMEPostgreSQL-Anwendungsbenutzer.
DB_PASSWORDPostgreSQL-Passwort. Verwenden Sie einen langen zufälligen Wert.
DB_ENCRYPTION_KEY64-stelliger Hex-Schlüssel für die Anwendungsverschlüsselung. Sicher sichern.
TIMING_TOKEN_SECRETHMAC-Secret für Timing-Token-Sicherheitsprüfungen.
PUBLIC_LINK_PASSWORD_SESSION_SECRETSecret für Passwort/PIN-geschützte öffentliche-Link-Sitzungen.
CORS_ALLOWED_ORIGINSExakte 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

VariableZweck
CORS_ALLOWED_ORIGINSMuss 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.
DOMAINWird von internen Proxy-Docker-Compose-Bereitstellungen verwendet. Coolify verwaltet Domains normalerweise außerhalb der App.
SERVICE_URL_FRONTENDOptionale 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

VariableZweck
SMTP_HOSTSMTP-Server-Hostname.
SMTP_PORTSMTP-Port, normalerweise 587.
SMTP_USERNAMESMTP-Konto-Benutzername.
SMTP_PASSWORDSMTP-Passwort oder App-Passwort.
SMTP_AUTHNormalerweise true für Produktions-SMTP.
SMTP_STARTTLSNormalerweise true für Port 587.
NOTIFICATIONS_ENABLEDAktiviert Benachrichtigungen.
NOTIFICATIONS_EMAIL_ENABLEDAktiviert E-Mail-Zustellung für Benachrichtigungen.

PDF-, Backup- und Sicherheitsvariablen

VariableEmpfohlener Beta-WertHinweise
PDF_ENABLEDtrueErfordert Gotenberg im Stack.
FEATURE_2FA_ENABLEDtrueAktiviert Zwei-Faktor-Authentifizierungsabläufe.
SECURITY_BOT_DETECTION_ENABLEDtrueHält öffentliche-Link-Bot-Schutzmaßnahmen aktiv.
SECURITY_TRUSTED_PROXIESleer (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_WHITELISTleerOptionale 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_DISABLEfalseNotfall: true setzen + Neustart, um eine IP-Whitelist-Sperre zu beheben (auch wenn keine Anmeldung möglich ist). Nur ENV.
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS120Wie 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_ENABLEDtrue für Produktion, optional für erste lokale TestphaseMit einem getesteten Wiederherstellungsprozess verwenden.
BACKUP_CRON0 0 2 * * *Täglich um 02:00 Uhr als Standard.
GEOIP_ENABLEDfalseNur 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_COUNTRIESleerISO-3166-1-alpha-2-Erlaubnisliste (z. B. PL,DE); in Großbuchstaben und validiert. Leer = keine Einschränkung.
LOG_LEVELINFO für erste Bereitstellung, später ggf. niedrigerAdmin-Diagnose für temporäre Eskalation verwenden.

Release-Check-Variablen

VariableZweck
VITE_RELEASE_CHECK_ENABLEDAktiviert Admin-only Upstream-Release-Checks.
VITE_RELEASE_MANIFEST_URLStandardmäßig https://quotenode.dev/releases/latest.json.
APP_VERSIONRelease-Version oder Image-Tag. Kann für Source-Bereitstellungen leer sein.
APP_CHANNELalpha, beta, rc, dev oder stable.
APP_COMMIT_SHACommit-SHA, eingebettet in Build-Metadaten wenn verfügbar.
APP_BUILD_TIMEBuild-Zeitstempel.
APP_BUILD_NUMBERCI-Build-Nummer.
APP_SOURCE_REFSource-Branch oder -Tag.
APP_IMAGE_TAGImage-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.

Last reviewed: Recently