Umgebungsvariablen

Dies ist eine Liste der im VC Publisher verwendeten Umgebungsvariablen.

Erforderliche Umgebungsvariablen

Umgebungsvariable Beschreibung

ROOT_URL

Die URL, unter der der VC Publisher erreichbar ist. Wenn ein Proxy verwendet wird, sollte dies die URL sein, unter der der Proxy erreichbar ist. Der Port muss angegeben werden, wenn er nicht dem Standard entspricht (80 oder 443).

MONGO_URL

Die URL, unter der die MongoDB erreichbar ist (mongodb://localhost:27017/publisher). Kann auch für den Zugriff auf einen extern gehosteten MongoDB-Dienst verwendet werden.

ROOT_PATH

Das Installationsverzeichnis des VC Publishers.

PUBLIC_DATA_PATH

Ordner für Streaming-Daten, Datenquellen, Datenbuckets und Plugins, der vom VC Publisher bereitgestellt wird. Dieses Verzeichnis kann je nach Datenmenge, die auf dem VC Publisher gespeichert ist, sehr groß werden.

PRIVATE_DATA_PATH

Ordner für temporäre Task-Daten und Job-Logs, wird nicht bereitgestellt.

VCS_INITIAL_USER

Der initiale Benutzer. Wird nur verwendet, wenn kein anderer Benutzer vorhanden ist. (Bei der Erstinstallation erforderlich.)

VCS_INITIAL_PASSWORD

Das Passwort des initialen Benutzers, wird nur zusammen mit VCS_INITIAL_USER verwendet. (Bei der Erstinstallation erforderlich.)

Optionale Umgebungsvariablen

Umgebungsvariable Beschreibung Standard

PORT

Der Port, auf dem der Publisher auf eingehende Verbindungen warten soll.

3003

HOST

Die Host-Adresse, auf der der Publisher auf Verbindungen warten soll.

0.0.0.0

HELP_URL

Die URL, unter der die Hilfe erreichbar ist.

https://help.vc.systems/{locale}/vc-publisher/{version}/

LOG_LEVEL

Kann debug, info, warn, error, silent sein. Sie können auch ein Objekt in JSON-Notation übergeben, wobei der Schlüssel der Log-Name und der Wert die Stufe für diesen Log ist. {"access":"silent"} deaktiviert das Access-Logging.

info

LOG_DIR

Das Verzeichnis, in das Log-Dateien geschrieben werden. Logs werden täglich rotiert. Wenn nicht angegeben, werden Logs nach stdout ausgegeben.

stdout

LOG_RETENTION_DAYS

Die Anzahl der Tage, für die rotierte Log-Dateien aufbewahrt werden. Akzeptiert einen einzelnen Wert (gilt für alle Log-Typen) oder ein JSON-Objekt mit Log-Typ-spezifischer Aufbewahrung (z. B. {"access":1, "audit":30}). Verwenden Sie -1, um Logs unbegrenzt aufzubewahren. Hat keine Wirkung, wenn LOG_DIR nicht angegeben ist.

{ "access": 7, "audit": 30, "app": 30, "vcjob-runner": 30 }

TRUST_PROXY

Auf true setzen, wenn der Publisher hinter einem Reverse-Proxy steht, der die SSL-Terminierung übernimmt und/oder Client-IP-Adressen über X-Forwarded-For-Header weiterleitet. Siehe Fastify-Dokumentation. Erlaubte Optionen: boolean, number, [ipRange]

-

SSL_PFX_PATH

Pfad zur PFX/PKCS12-Zertifikatsdatei für HTTPS

-

SSL_PASSPHRASE

Passphrase für verschlüsselte SSL-Zertifikate (PFX- oder PEM-Privatschlüsseldateien)

-

SSL_CERT_PATH

Pfad zur SSL-Zertifikatsdatei (PEM-Format). Muss zusammen mit SSL_KEY_PATH verwendet werden.

-

SSL_KEY_PATH

Pfad zur SSL-Privatschlüsseldatei (PEM-Format). Muss zusammen mit SSL_CERT_PATH verwendet werden.

-

SSL_CA_PATH

Pfad zur SSL-CA-Zertifikatsdatei (PEM-Format) für Zertifikatsketten

-

HTTP_REDIRECT_TO_HTTPS

HTTP-Datenverkehr auf HTTPS umleiten (true/false). Nur wirksam, wenn SSL aktiviert ist.

-

HTTP_PORT

Port für den HTTP-Server, wenn HTTP_REDIRECT_TO_HTTPS aktiviert ist.

80

UNSAFE_LEGACY_DATASOURCE_SEND_FILE

Erlaubt das Hosting von ausführbarem Browser-Code (wie jsx?|html?|mht(ml)?) über /datasource-data nur für Legacy-Datenquellen. Auf true setzen, um zu aktivieren.

-

LOGIN_TOKEN_EXPIRATION

Die Ablaufzeit des Login-Tokens in TAGEN. Wenn leer gelassen, wird der Standard verwendet.

1 Tag

CORS_ORIGIN

Kann zur Konfiguration eines CORS-Headers verwendet werden. Kann ein Hostname, eine Liste von Hostnamen als JSON-Array oder true für * sein. (foo: ein Host, ["foo", "bar"]: mehrere Hosts)

-

PARALLEL_JOBS

Konfiguriert die Anzahl paralleler Jobs. Wenn nicht gesetzt, wird automatisch basierend auf dem Systemspeicher und dem Speicherlimit für Jobs berechnet.

floor(SystemMemory × 0,8 / (MAX_JOB_MEMORY ODER 12 GB))

MAX_JOB_MEMORY

Konfiguriert den maximalen Speicher (MB), den ein Job verwenden kann. Wenn nicht gesetzt, wird automatisch berechnet, um 80 % des Systemspeichers auf parallele Jobs zu verteilen.

floor((SystemMemory × 0,8) / PARALLEL_JOBS)

SESSION_TTL_SECONDS

Kann verwendet werden, um die maximale Lebensdauer einer Sitzung in der Datenbank zu konfigurieren (gilt nur für Sitzungs-Cookies ohne maxAge-Einstellung).

30 Tage

SESSION_REMEMBERME_SECONDS

Kann verwendet werden, um die Gültigkeitsdauer einer Sitzung zu konfigurieren, wenn der Benutzer "Angemeldet bleiben" wählt (setzt maxAge auf den Cookie).

30 Tage

PUBLIC_DATASOURCE_DATA

Setzt das datasource-data Hosting auf öffentlich, sodass die URL http://publisher/datasource-data/datasourceId von externen Diensten verwendet werden kann. Wenn nicht gesetzt, ist eine Authentifizierung erforderlich.

-

NO_RESPONSE_COMPRESSION

Deaktiviert die Antwortkomprimierung für alle Antworten (true/false).

-

UNSAFE_INLINE_STYLE_CSP

Erlaubt ‘unsafe-inline’ für style-src-elem im Content-Security-Policy-Header, was bei der Verwendung von VC Map-Versionen vor 6.3 erforderlich ist (true/false). Hat keine Auswirkung, wenn APP_HELMET_CONFIGURATION ebenfalls konfiguriert ist.

-

APP_HELMET_CONFIGURATION

Ermöglicht die Konfiguration von Helmet für App- und Datenquellen-Vorschauen. Optionen finden Sie unter helmet.js. Hat keine Auswirkung, wenn NO_HELMET_SECURITY true ist.

Siehe Standard-Helmet-Konfiguration.

NO_HELMET_SECURITY

Deaktiviert die Helmet-Integration. Kann aktiviert werden, wenn ein Proxy bereits die relevanten Sicherheits-Header setzt (true/false).

-

FAILED_JOB_RETENTION_DAYS

Die Anzahl der Tage, für die fehlgeschlagene Jobs aufbewahrt werden, bevor sie durch den Hintergrundtask bereinigt werden. Auf -1 setzen, um die Bereinigung zu deaktivieren.

7 Tage

Standard-Helmet-Konfiguration

Nachfolgend finden Sie die Standardkonfiguration für Helmet, die verwendet wird, wenn APP_HELMET_CONFIGURATION in den Routen map-preview, app-preview und app-edit nicht gesetzt ist. Diese Konfiguration wird verwendet, um sichere Standardwerte für den Content-Security-Policy-Header zu setzen. Sie kann durch Setzen von APP_HELMET_CONFIGURATION weiter angepasst werden.

Wenn Sie APP_HELMET_CONFIGURATION setzen, wird die Standardkonfiguration vollständig überschrieben. Daher müssen Sie alle Anweisungen, die Sie verwenden möchten, in Ihre benutzerdefinierte Konfiguration aufnehmen.

Standardkonfiguration:

{
  "enableCSPNonces": true,
  "contentSecurityPolicy": {
    "directives": {
      "scriptSrc": ["'self'", "'wasm-unsafe-eval'", "'unsafe-eval'"],
      "workerSrc": ["'self'", "blob:", "data:"],
      "styleSrc": ["'self'", "data:"],
      "styleSrcAttr": ["'unsafe-inline'"],
      "imgSrc": ["'self'", "data:", "https:", "blob:", "http:"],
      "connectSrc": [
        "'self'",
        "wss:",
        "https:",
        "data:",
        "http:",
        "ws:",
        "blob:"
      ],
      "upgradeInsecureRequests": null,
      "blockAllMixedContent": []
    }
  },
  "referrerPolicy": {
    "policy": "strict-origin-when-cross-origin"
  }
}

Wenn Sie Inline-Styles für Style-Elemente erlauben müssen (mit UNSAFE_INLINE_STYLE_CSP), fügen Sie das styleSrcElem-Array hinzu:

{
  "enableCSPNonces": true,
  "contentSecurityPolicy": {
    "directives": {
      "scriptSrc": ["'self'", "'wasm-unsafe-eval'", "'unsafe-eval'"],
      "workerSrc": ["'self'", "blob:", "data:"],
      "styleSrc": ["'self'", "data:"],
      "styleSrcAttr": ["'unsafe-inline'"],
      "styleSrcElem": ["'self'", "data:", "'unsafe-inline'"],
      "imgSrc": ["'self'", "data:", "https:", "blob:", "http:"],
      "connectSrc": [
        "'self'",
        "wss:",
        "https:",
        "data:",
        "http:",
        "ws:",
        "blob:"
      ],
      "upgradeInsecureRequests": null,
      "blockAllMixedContent": []
    }
  },
  "referrerPolicy": {
    "policy": "strict-origin-when-cross-origin"
  }
}