Speicherung und Backups
Kanera enthält zwei Dinge, die Sie nicht neu generieren können: die PostgreSQL-Datenbank und hochgeladene Dateien. Entscheiden Sie, wo jeder wohnt, bevor Sie andere einladen.
Speicher hochladen
Standardmäßig werden hochgeladene Dateien im gespeichert kanera_uploads Docker-Volume.
Legen Sie für S3-kompatiblen Speicher Folgendes fest:
S3_REGION=auto
S3_BUCKET=kanera
S3_ACCESS_KEY_ID=...
S3_SECRET_ACCESS_KEY=...
S3_ENDPOINT=https://s3.example.com
S3_PUBLIC_URL_PREFIX=https://cdn.example.com/kanera
Wenn die erforderlichen S3-Werte festgelegt sind, hat S3 Vorrang vor dem lokalen Upload-Speicher.
Organisationsadministratoren können auch zwischen lokaler Festplatte und S3 wählen Einstellungen -> Organisation -> Speicher in der App, unter Speicher-Backend. Umgebungswerte haben Vorrang und die Seite markiert die Steuerelemente als schreibgeschützt, wenn sie festgelegt sind.
Das selbst gehostete Kanera verfügt über kein Speicherkontingent, sodass die Anhangkapazität dem entspricht, was das Volume oder der Bucket bereitstellt. Dateivolumen und -speicherung erhöhen in der Regel den Festplattenbedarf stärker als Kanera selbst, achten Sie also auf das Festplattenwachstum. Auf derselben Speicherseite wird angezeigt, wie viel jeder Arbeitsbereich verbraucht, und ermöglicht Administratoren das Suchen und Löschen großer oder alter Dateien, einschließlich derjenigen auf archivierten Karten. Siehe Speicher.
Backups
Sichern Sie beide:
| Daten | Standort |
|---|---|
| PostgreSQL-Daten | kanera_pgdata Docker-Volume. |
| Hochgeladene Dateien | kanera_uploads Docker-Volume, sofern kein S3-Speicher konfiguriert ist. |
Manuelles PostgreSQL-Backup:
docker compose exec -T postgres pg_dump -U kanera kanera | gzip > kanera-$(date +%F).sql.gz
Kanera kann auch verschlüsselte vollständige PostgreSQL-Backups auf S3-kompatiblem Speicher ausführen:
DB_BACKUPS_ENABLED=true
DB_BACKUP_ENCRYPTION_PASSPHRASE=<openssl rand -hex 32>
DB_BACKUP_TIMES_UTC=00:15,12:15,16:45
DB_BACKUP_RETENTION_DAYS=14
DB_BACKUP_S3_PREFIX=backups/postgres
Der Backup-Dienst komprimiert den Dump, verschlüsselt ihn mit GPG symmetrischem AES-256, lädt ihn auf S3 hoch und bereinigt alte Backups nach erfolgreichen Uploads. Speichern DB_BACKUP_ENCRYPTION_PASSPHRASE an einem dauerhaften Ort auch außerhalb des Einsatzes; Es ist erforderlich, Backups wiederherzustellen.
Bewahren Sie Datenbank- und hochgeladene Dateisicherungen nicht auf der primären Festplatte des Servers auf. Eine Sicherung auf demselben Volume wie die Daten übersteht den Ausfall, für den sie existiert, nicht.
Geheimnisse, die es wert sind, bewahrt zu werden
Der Verlust dieser Daten kostet Sie Daten statt Betriebszeit:
| Wert | Wenn es sich ändert oder verloren geht |
|---|---|
DB_BACKUP_ENCRYPTION_PASSPHRASE | Vorhandene verschlüsselte Backups können nicht wiederhergestellt werden. |
SECRETS_ENCRYPTION_KEY | Gespeicherte Integrationszugangsdaten wie Chat-Ziel und persönliche Webhook-Geheimnisse können nicht mehr entschlüsselt werden. |
MFA_ENCRYPTION_KEY | Registrierte Authentifikatoren und ausstehende MFA-Herausforderungen werden ungültig. |
MEDIA_SIGNING_SECRET | Vorhandene signierte Medien-URLs werden nicht mehr aufgelöst. |
JWT_SECRET | Alle sind abgemeldet. |