Direkt zum Hauptinhalt

PLESK · Node.js-Einstellungen

PLESK · Node.js-Einstellungen

image-1619616719823.pngHinweis (Stand 2026-05-23): Aktuelle Produktion läuft mit Node.js 18.x LTS (siehe .gitlab-ci.yml). Plesk-Node.js-Toolkit muss installiert sein.

Application-Settings im Plesk-UI

Im Plesk-Vhost unter Node.js folgende Felder setzen:

Feld Wert Node.js Version 18.x (LTS) Document Root /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at Application Root /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at Application Startup File index.js Application Mode production

Custom Environment Variable: Variables

image-1619616844701.pngDESS liest seine Konfiguration über config/config.js aus, dort werden bestimmte Felder über process.env überschreibbar gehalten. Im Plesk-UI unter Node.js → Custom environment variables mindestens setzen:

Variable Beispiel Zweck NODE_ENV production Aktiviert Production-Logging + Caching PORT 3000 interner Node-Port (Plesk-nginx-Proxy davor) DB_HOST 127.0.0.1 MariaDB-Host DB_USER dess DB-User DB_PASSWORD <secret> aus OpenBao, niemals im Vault im Klartext DB_NAME dess DB-Name OIDC_ENABLED true Aktiviert Keycloak-Login (seit 1.0.9) OIDC_ISSUER https://sso.agrarforschung.at/realms/bab Keycloak-Realm OIDC_CLIENT_ID dess KC-Client OIDC_CLIENT_SECRET <secret> aus OpenBao PROXY true hinter nginx-Reverse-Proxy SESSION_SECRET <random> Express-Session-Secret, nicht hardcoden

Restart-Mechanismus

 Plesk Passenger erkennt Neustart-Triggerdatei:

touch /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at/tmp/restart.txt

Die CI-Pipeline .gitlab-ci.yml setzt dieses File automatisch nach jedem erfolgreichen SCP-Upload.

Bekannte Hardening-Punkte

    trust proxy Flag: Express muss app.set('trust proxy', 1) setzen, damit req.protocol hinter dem nginx-Reverse-Proxy korrekt https liefert. Siehe Incident DESS SSO-Login defekt nach Keycloak 26 Upgrade bzw. Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md. OIDC iss-Parameter: KC26 sendet iss in der Auth-Response. Aktuell ist das auf KC-Seite per Client-Attribut exclude.issuer.from.auth.response=true deaktiviert; ein Hardening-Fix in login.component.ts + Joi-Schema ist offen.

    Stand: 2026-05-23 · Audit: Roland Neissl · Quelle: GitLab dess/dess Commit-Historie + Vault wiki/concepts/integration-dess-openproject.md + Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md