Betrieb
Konfigurationsreferenz
Die Vaultigen-spezifischen Umgebungsvariablen und ihre Standardwerte.
Vaultigen wird wie jede Laravel-Anwendung über .env konfiguriert.
- Docker Compose: die
.envnebencompose.yaml. Änderungen übernehmen Sie mitdocker compose up -d --wait. Was fest ist und was Sie ändern können, steht unter Docker Compose. - Manuelle Installation: die
.envim Anwendungsverzeichnis. Führen Sie nach jeder Änderungphp artisan config:clear(oder erneutconfig:cache) aus und starten Sie den Queue-Worker neu.
Docker Compose
Woher Einstellungen kommen
Compose liest .env auf zwei Arten:
- Um
compose.yamlselbst auszufüllen:VAULTIGEN_IMAGE_TAG,VAULTIGEN_DOMAIN,DB_PASSWORD,COMPOSE_FILEund die Netzwerkeinstellungen des Proxys. - 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].