Umgebungsvariablen
DocPlatform liest die Konfiguration aus Umgebungsvariablen. Setzen Sie diese in Ihrer Shell, einer .env-Datei im Arbeitsverzeichnis oder in Ihrem Container-Orchestrator.
Server
| Variable | Standard | Beschreibung |
|---|---|---|
PORT |
3000 |
HTTP-Listening-Port |
HOST |
0.0.0.0 |
HTTP-Listening-Adresse. Setzen Sie auf 127.0.0.1, um auf localhost zu beschränken. |
DATA_DIR |
.docplatform |
Stammverzeichnis für alle DocPlatform-Daten (Datenbank, Backups, Workspaces, Schlüssel) |
BASE_DOMAIN |
— | Eigene Domain für veröffentlichte Dokumentation (z. B. docs.yourcompany.com). Wenn gesetzt, verwendet die veröffentlichte Dokumentation diese Domain für kanonische URLs und Sitemap-Einträge. |
PUBLISH_REQUIRE_AUTH |
false |
Wenn true, erfordern alle veröffentlichten Dokumentationsseiten, dass der Besucher als Workspace-Mitglied angemeldet ist. Nicht authentifizierte Besucher werden zur Anmeldeseite weitergeleitet und nach der Anmeldung zur Originalseite zurückgeführt. |
Authentifizierung
| Variable | Standard | Beschreibung |
|---|---|---|
JWT_SECRET_PATH |
{DATA_DIR}/jwt-key.pem |
Pfad zum RS256-Privatschlüssel für JWT-Signierung. Wird beim ersten Start automatisch generiert, wenn nicht vorhanden. |
JWT_ACCESS_TTL |
900 |
Access-Token-Lebensdauer in Sekunden (Standard: 15 Minuten) |
JWT_REFRESH_TTL |
2592000 |
Refresh-Token-Lebensdauer in Sekunden (Standard: 30 Tage) |
OIDC-Anbieter (optional)
Aktivieren Sie Google- und/oder GitHub-Anmeldung durch Setzen dieser Variablen. Wenn nicht gesetzt, steht nur die lokale Authentifizierung (E-Mail + Passwort) zur Verfügung.
| Variable | Standard | Beschreibung |
|---|---|---|
OIDC_GOOGLE_CLIENT_ID |
— | Google OAuth 2.0 Client-ID |
OIDC_GOOGLE_CLIENT_SECRET |
— | Google OAuth 2.0 Client-Secret |
OIDC_GITHUB_CLIENT_ID |
— | GitHub OAuth Client-ID |
OIDC_GITHUB_CLIENT_SECRET |
— | GitHub OAuth Client-Secret |
Siehe Authentifizierung für Einrichtungsanleitungen.
Git
| Variable | Standard | Beschreibung |
|---|---|---|
GIT_SSH_KEY_PATH |
~/.ssh/docplatform_deploy_key |
Pfad zum privaten SSH-Schlüssel für Git-Operationen. Erforderlich für private Repositories über SSH. |
GIT_SYNC_INTERVAL |
300 |
Standard-Polling-Intervall in Sekunden für Remote-Synchronisation (Minimum: 10). Wird durch workspace-spezifisches sync_interval überschrieben. Setzen Sie auf 0 für Webhook-only-Synchronisation (kein Polling). |
GIT_AUTO_COMMIT |
true |
Standard-Auto-Commit-Verhalten. Wird durch workspace-spezifisches git_auto_commit überschrieben. |
GIT_WEBHOOK_SECRET |
— | Gemeinsames Secret zur Verifizierung von Webhook-Payloads (HMAC-SHA256) von GitHub, GitLab oder Bitbucket. |
GIT_COMMIT_NAME |
DocPlatform |
Git-Committer-Name für Auto-Commits |
GIT_COMMIT_EMAIL |
docplatform@local |
Git-Committer-E-Mail für Auto-Commits |
E-Mail (optional)
Konfigurieren Sie SMTP für Workspace-Einladungen und Passwort-Zurücksetzungs-E-Mails. Ohne SMTP werden Token auf stdout (Server-Logs) ausgegeben.
| Variable | Standard | Beschreibung |
|---|---|---|
SMTP_HOST |
— | SMTP-Server-Hostname (z. B. smtp.gmail.com) |
SMTP_PORT |
587 |
SMTP-Port (587 für STARTTLS, 465 für SSL) |
SMTP_FROM |
— | Absender-E-Mail-Adresse (z. B. [email protected]) |
SMTP_USERNAME |
— | SMTP-Authentifizierungs-Benutzername |
SMTP_PASSWORD |
— | SMTP-Authentifizierungs-Passwort |
Backups
| Variable | Standard | Beschreibung |
|---|---|---|
BACKUP_ENABLED |
true |
Tägliche automatisierte SQLite-Backups aktivieren |
BACKUP_RETENTION_DAYS |
7 |
Anzahl der Tage, die Backup-Dateien aufbewahrt werden. Ältere Backups werden automatisch gelöscht. |
BACKUP_DIR |
{DATA_DIR}/backups |
Verzeichnis für Backup-Dateien |
Telemetrie
| Variable | Standard | Beschreibung |
|---|---|---|
DOCPLATFORM_TELEMETRY |
off |
Setzen Sie auf on, um anonyme, opt-in Nutzungsmetriken zu aktivieren. Wenn aktiviert, wird wöchentlich eine SHA-256-Installations-ID (keine personenbezogenen Daten) gesendet. |
DOCPLATFORM_TELEMETRY_ENDPOINT |
— | Benutzerdefinierter Endpunkt für Telemetriedaten (fortgeschritten — für Air-Gapped-Umgebungen mit interner Analyse) |
Was die Telemetrie sendet (wenn aktiviert)
- SHA-256-Installations-ID (abgeleitet vom Datenverzeichnis, nicht umkehrbar)
- Workspace-Anzahl und Gesamtseitenanzahl
- DocPlatform-Version
- Betriebssystem und Architektur
Telemetrie sendet niemals: Seiteninhalte, Benutzer-E-Mails, IP-Adressen, Dateinamen oder personenbezogene Daten. Frequenz: wöchentlich.
Frontmatter-Behandlung
| Variable | Standard | Beschreibung |
|---|---|---|
FRONTMATTER_ERROR_MODE |
strict |
Umgang mit ungültigem YAML-Frontmatter: strict beschränkt die Seite auf Admin-only-Zugriff (verhindert versehentliche Freigabe); lenient behält das zuletzt bekannte gültige Frontmatter bei und zeigt eine Warnung an. |
Verwendung einer .env-Datei
Erstellen Sie eine .env-Datei in dem Verzeichnis, in dem Sie docplatform serve ausführen:
# .env
PORT=8080
DATA_DIR=/var/lib/docplatform
GIT_SSH_KEY_PATH=/etc/docplatform/deploy_key
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_FROM=[email protected]
SMTP_USERNAME=[email protected]
SMTP_PASSWORD=app-specific-password
BACKUP_RETENTION_DAYS=30
DocPlatform lädt die .env-Datei automatisch. Umgebungsvariablen, die in der Shell gesetzt sind, haben Vorrang vor .env-Werten.
Docker-Umgebung
Übergeben Sie Umgebungsvariablen an Docker mit -e-Flags oder einer Env-Datei:
docker run -d \
--name docplatform \
-p 3000:3000 \
-v docplatform-data:/data \
-e DATA_DIR=/data \
-e SMTP_HOST=smtp.example.com \
-e SMTP_FROM=[email protected] \
--env-file .env.production \
ghcr.io/valoryx-org/docplatform:latest
Sicherheitshinweise
- Committen Sie niemals
.env-Dateien in die Versionskontrolle. Fügen Sie.envzu Ihrer.gitignorehinzu. - JWT-Schlüssel werden automatisch generiert. Wenn Sie rotieren müssen, löschen Sie die Schlüsseldatei und starten Sie neu — ein neuer Schlüssel wird generiert und alle bestehenden Sitzungen werden invalidiert.
- SMTP-Passwörter — verwenden Sie App-spezifische Passwörter oder API-Keys, nicht Ihr primäres Kontopasswort.
- Git-Token — verwenden Sie Repository-spezifische Token mit minimalen Berechtigungen (Lese- + Schreibzugriff für die Synchronisation).