Almacenamiento y copias de seguridad
Kanera contiene dos cosas que no puedes regenerar: la base de datos PostgreSQL y los archivos cargados. Decide dónde vive cada uno antes de invitar a otras personas.
Cargar almacenamiento
De forma predeterminada, los archivos cargados se almacenan en el kanera_uploads Volumen acoplable.
Para almacenamiento compatible con S3, configure:
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
Cuando se establecen los valores de S3 requeridos, S3 tiene prioridad sobre el almacenamiento de carga local.
Los administradores de la organización también pueden elegir el disco local o S3 desde Configuración -> Organización -> Almacenamiento en la aplicación, debajo back-end de almacenamiento. Los valores del entorno tienen prioridad y la página marca los controles como de solo lectura cuando están configurados.
Kanera autohospedado no tiene cuota de almacenamiento, por lo que la capacidad de los archivos adjuntos es cualquiera que proporcione el volumen o depósito. El volumen y la retención de archivos generalmente aumentan los requisitos de disco más que el propio Kanera, por lo que debe estar alerta sobre el crecimiento del disco. La misma página de Almacenamiento muestra cuánto usa cada espacio de trabajo y permite a los administradores buscar y eliminar archivos grandes o antiguos, incluidos los de tarjetas archivadas. Ver Almacenamiento.
Copias de seguridad
Haga una copia de seguridad de ambos:
| Datos | Ubicación |
|---|---|
| datos postgresql | kanera_pgdata Volumen acoplable. |
| Archivos cargados | kanera_uploads Volumen de Docker, a menos que esté configurado el almacenamiento S3. |
Copia de seguridad manual de PostgreSQL:
docker compose exec -T postgres pg_dump -U kanera kanera | gzip > kanera-$(date +%F).sql.gz
Kanera también puede ejecutar copias de seguridad completas cifradas de PostgreSQL en un almacenamiento compatible con S3:
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
El servicio de copia de seguridad comprime el volcado, lo cifra con GPG AES-256 simétrico, lo carga en S3 y elimina las copias de seguridad antiguas después de cargas exitosas. Tienda DB_BACKUP_ENCRYPTION_PASSPHRASE también en algún lugar duradero fuera del despliegue; es necesario restaurar las copias de seguridad.
Mantenga las copias de seguridad de la base de datos y de los archivos cargados fuera del disco principal del servidor. Una copia de seguridad en el mismo volumen que los datos no sobrevive al fallo por el que existe.
Secretos que vale la pena guardar
Perder estos le cuesta datos en lugar de tiempo de actividad:
| Valor | Si cambia o se pierde |
|---|---|
DB_BACKUP_ENCRYPTION_PASSPHRASE | Las copias de seguridad cifradas existentes no se pueden restaurar. |
SECRETS_ENCRYPTION_KEY | Las credenciales de integración almacenadas, como el destino del chat y los secretos del webhook personal, ya no se pueden descifrar. |
MFA_ENCRYPTION_KEY | Los autenticadores inscritos y las impugnaciones de MFA pendientes dejan de ser válidos. |
MEDIA_SIGNING_SECRET | Las URL de medios firmadas existentes dejan de resolverse. |
JWT_SECRET | Todos han cerrado sesión. |