Zum Inhalt springen
vaultigen

Betrieb

Konfigurationsreferenz

Die Vaultigen-spezifischen Umgebungsvariablen und ihre Standardwerte.

Vaultigen wird wie jede Laravel-Anwendung über .env konfiguriert.

  • Docker Compose: die .env neben compose.yaml. Änderungen übernehmen Sie mit docker compose up -d --wait. Was fest ist und was Sie ändern können, steht unter Docker Compose.
  • Manuelle Installation: die .env im Anwendungsverzeichnis. Führen Sie nach jeder Änderung php artisan config:clear (oder erneut config:cache) aus und starten Sie den Queue-Worker neu.

Docker Compose

Woher Einstellungen kommen

Compose liest .env auf zwei Arten:

  1. Um compose.yaml selbst auszufüllen: VAULTIGEN_IMAGE_TAG, VAULTIGEN_DOMAIN, DB_PASSWORD, COMPOSE_FILE und die Netzwerkeinstellungen des Proxys.
  2. Als Umgebung jedes Anwendungscontainers (env_file), daher lässt sich jede Variable dieser Seite dort setzen.

compose.yaml setzt danach einige Werte ausdrücklich, und diese haben Vorrang vor .env. Sie sind fest, weil der Stack von ihnen abhängt:

Fest in compose.yaml Wert
APP_ENV, APP_DEBUG production, false
APP_URL https:// + VAULTIGEN_DOMAIN
SESSION_SECURE_COOKIE true
DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME pgsql, database, 5432, vaultigen, vaultigen
VAULTIGEN_APP_KEY_FILE, VAULTIGEN_INSTALLATION_FILE, VAULTIGEN_KEK_FILE, VAULTIGEN_BACKUP_KEY_FILE /keys/app.key, /keys/installation.json, /keys/kek.json, /keys/backup.json
VAULTIGEN_KEK_PROVIDER file
VAULTIGEN_BACKUP_ROOT /backups
VAULTIGEN_WEB_MODE https (http mit der Proxy-Ergänzung)

MAIL_MAILER ist standardmäßig smtp und lässt sich in .env ändern. Ein APP_KEY in .env hat Vorrang vor /keys/app.key; er wird nur gebraucht, wenn Sie eine manuelle Installation umziehen. In der Shell exportierte Variablen haben beim Ausfüllen von compose.yaml Vorrang vor .env; exportieren Sie keine Vaultigen-Einstellungen in der Shell.

Werte in .env werden wörtlich gelesen. Setzen Sie Werte mit $, #, Leerzeichen oder Anführungszeichen in einfache Anführungszeichen und maskieren Sie einen Apostroph als \'. Lesen Sie die Datei nie mit source ein.

Jeder Container baut beim Start seinen eigenen Konfigurations-Cache. Führen Sie nach jeder Änderung docker compose up -d --wait aus; Compose erstellt die Container neu, deren Einstellungen sich geändert haben. docker compose restart übernimmt geänderte Einstellungen nicht.

Einstellungen nur für Docker

Variable Standard Zweck
VAULTIGEN_IMAGE_TAG — (Pflicht) Genaue Image-Version für alle Anwendungsdienste. Eine Änderung ist ein Update.
VAULTIGEN_DOMAIN — (Pflicht) Öffentlicher Hostname; auch der Name des HTTPS-Zertifikats.
DB_PASSWORD — (Pflicht) Passwort der mitgelieferten PostgreSQL-Datenbank. Mindestens 24 Zeichen; nach der Einrichtung nie ändern.
COMPOSE_FILE compose.yaml Für einen bestehenden Reverse Proxy auf compose.yaml:compose.proxy.yaml setzen.
VAULTIGEN_HTTP_PORT 8080 Loopback-Port der Proxy-Ergänzung.
VAULTIGEN_NETWORK_SUBNET, VAULTIGEN_NETWORK_GATEWAY, VAULTIGEN_NETWORK_RANGE, VAULTIGEN_WEB_ADDRESS 172.31.250.0/24, .1, .128/25, .10 Festes privates Netz der Proxy-Ergänzung; nur bei einer Kollision ändern.
VAULTIGEN_TRUSTED_PROXIES das Netz-Gateway (Proxy-Ergänzung) Für einen Proxy in einem anderen Container oder auf einem anderen Host setzen, oder 172.31.250.10 mit rootless Podman.

Die Vorlage env.example schaltet außerdem das nächtliche Backup ein (VAULTIGEN_BACKUP_SCHEDULE_ENABLED=true), das bei manuellen Installationen standardmäßig aus ist.

Dauerhafte Pfade

Host (neben compose.yaml) Container Inhalt
data/postgres/ /var/lib/postgresql (database) PostgreSQL-Daten
data/storage/ /app/storage Anhänge, aufbewahrte Importe, Laufzeitdateien
data/keys/ /keys app.key, installation.json, kek.json, backup.json
data/caddy/ /data (web) HTTPS-Zertifikate
backups/ /backups Geprüfte Backup-Sätze

Die Standardwerte in den folgenden Tabellen gelten für eine manuelle Installation. Auf einem Docker-Host ist storage/ gleich data/storage/, die Schlüsseldateien liegen in data/keys/ und Backup-Sätze in backups/.

Anwendung

Variable Standard Zweck
APP_ENV — Muss auf echten Installationen production sein.
APP_DEBUG — Muss im Produktivbetrieb false sein.
APP_URL — Die öffentliche HTTPS-Adresse.
APP_KEY — Einmal mit key:generate erzeugt. Danach nie ändern.

Web und Proxies

Variable Standard Zweck
VAULTIGEN_TRUSTED_PROXIES leer Kommagetrennte Proxy-Adressen oder CIDRs, deren Forwarded-Header vertraut wird.
VAULTIGEN_TRUSTED_HOSTS leer Reguläre Ausdrücke erlaubter Hostnamen.
VAULTIGEN_HSTS_MAX_AGE 31536000 HSTS-Max-Age in Sekunden; 0 deaktiviert HSTS.
VAULTIGEN_HSTS_INCLUDE_SUBDOMAINS false includeSubDomains ergänzen.
VAULTIGEN_HSTS_PRELOAD false preload ergänzen.

Schlüssel

Variable Standard Zweck
VAULTIGEN_KEK_PROVIDER file file oder environment.
VAULTIGEN_KEK_FILE storage/app/private/kek.json Ort des KEK-Schlüsselbunds.
VAULTIGEN_KEK_KEYRING — KEK-Schlüsselbund als JSON, wenn der Provider environment ist.
VAULTIGEN_BACKUP_KEY_FILE storage/app/private/backup.json Ort des Backup-Schlüsselbunds.
VAULTIGEN_BACKUP_KEYRING — Backup-Schlüsselbund aus der Umgebung.
VAULTIGEN_INSTALLATION_FILE storage/app/private/installation.json Ort der Datei mit der Installationsidentität.
VAULTIGEN_APP_KEY_FILE — Geschützte Datei mit dem Anwendungsschlüssel; wird nur verwendet, wenn APP_KEY leer ist.
VAULTIGEN_INSTALLATION_ID aus installation.json Überschreibt die Installations-ID.
VAULTIGEN_AUDIT_KEY aus installation.json Überschreibt den Audit-Schlüssel.
PASSKEYS_USER_HANDLE_SECRET aus installation.json Überschreibt das Passkey-Geheimnis.

Speicher, Backups und Jobs

Variable Standard Zweck
VAULTIGEN_BACKUP_ROOT storage/app/private/backups Wohin Backup-Sätze geschrieben werden.
VAULTIGEN_BACKUP_TEMPORARY_ROOT storage/app/private/backup-work Privater Datenträger für Snapshot-/Wiederherstellungsdateien; genug freien Platz vorsehen.
VAULTIGEN_BACKUP_SCHEDULE_ENABLED false Backups über den Scheduler aktivieren; alten Backup-Cron vorher entfernen.
VAULTIGEN_BACKUP_SCHEDULE 30 2 * * * Gültiger Cron-Ausdruck mit fünf Feldern.
VAULTIGEN_BACKUP_TIMEZONE UTC Gültige Zeitzone für Backups und lokales Aufräumen.
VAULTIGEN_BACKUP_MAX_AGE_HOURS 48 Positive Altersgrenze für die Backup-Warnung in Operations.
VAULTIGEN_BACKUP_RETENTION_ENABLED false Löschen verifizierter abgelaufener lokaler Sätze um 05:00 aktivieren; der neueste verifizierte Satz bleibt erhalten.
VAULTIGEN_BACKUP_RETENTION_DAYS 30 Positive lokale Aufbewahrung in Tagen; unabhängig von externen Kopien.
VAULTIGEN_STORAGE_PATH storage/app/private Volume für die Prüfung des freien Speichers.
VAULTIGEN_MIN_FREE_BYTES 268435456 Warnschwelle für freien Speicher (256 MB).
VAULTIGEN_ATTACHMENT_MAX_BYTES 26214400 Maximale Größe eines Anhangs (25 MB).
VAULTIGEN_VAULT_ATTACHMENT_MAX_BYTES 524288000 Maximale Summe der Anhänge pro Tresor (500 MB).
VAULTIGEN_BACKUP_JOB_TIMEOUT 3600 Timeout des Backup-Jobs in Sekunden.
VAULTIGEN_ROTATION_JOB_TIMEOUT 3600 Timeout der Schlüsselrotation in Sekunden.
VAULTIGEN_IMPORT_JOB_TIMEOUT 3600 Timeout des Import-Jobs in Sekunden.
VAULTIGEN_IMPORT_QUEUE_TIMEOUT 3600 Wie lange ein Import auf einen Worker warten darf.
VAULTIGEN_IMPORT_ATTACHMENT_MAX_BYTES 67108864 Maximale Summe aller Anhänge eines Imports (64 MB).

Lizenz

Variable Standard Zweck
VAULTIGEN_LICENSE — Der Lizenzblock in einer Zeile. Ist sie gesetzt, hat sie Vorrang vor der in der Anwendung installierten Lizenz. Siehe Lizenz installieren.

Nur für Entwicklung

Variable Zweck
VAULTIGEN_MFA_DISABLED Überspringt den zweiten Faktor. Wird nur mit APP_ENV=local oder testing beachtet; anderswo startet die Anwendung damit nicht.

Einstellungen, die Administratoren zur Laufzeit ändern (MFA-Methoden, Sitzungen, Aufbewahrung, Tresorerstellung, Website-Icons, Empfänger von Sicherheitsbenachrichtigungen), liegen unter System → Einstellungen, nicht in .env.

Einen Fehler gefunden? Schreiben Sie uns an [email protected].