跳转到主要内容

存储与备份

Kanera 包含两个你无法重新创建的东西:PostgreSQL 数据库和上传的文件。 在邀请人员前,先决定每个文件的位置。

上传存储​

默认情况下,上传的文件存储在 kanera_uploads Docker 卷。

对于 S3 兼容的存储,请设置:

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

设置所需的 S3 值后,S3 优先于本地上传存储。

组织管理员还可以从本地磁盘或 S3 中选择 设置 -> 组织 -> 存储 在应用程序中,在 存储后端。环境值优先,并且页面在设置控件时将其标记为只读。

自托管的 Kanera 没有存储配额,因此附加容量取决于卷或分区提供的容量。 文件容量和保留通常比 Kanera 本身更加影响磁盘需求,因此请注意磁盘增长。 同一存储页面显示每个工作区使用的容量,并允许管理员查找和删除大型或旧文件,包括存档卡上的文件。 存储.

Backups​

备份两者:

数据地点
PostgreSQL数据库kanera_pgdata Docker 卷。
上传的文件kanera_uploads Docker 卷,除非配置了 S3 存储。

手动 PostgreSQL 备份:

docker compose exec -T postgres pg_dump -U kanera kanera | gzip > kanera-$(date +%F).sql.gz

Kanera 还可以将加密的 PostgreSQL 完整备份到 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

备份服务将压缩转储文件,使用 GPG 对称 AES-256 对其进行加密,将其上传到 S3,并在成功上传后修剪旧备份。 存储 DB_BACKUP_ENCRYPTION_PASSPHRASE 部署之外的某个持久的位置;它是恢复备份所需的。

将数据库和上传文件的备份保存在服务器的主磁盘之外。 与数据相同的卷上的备份在发生故障时无法存活。

值得保守的秘密​

丢失这些成本您的数据,而不是正常运行时间:

价值如果它变化或丢失
DB_BACKUP_ENCRYPTION_PASSPHRASE无法恢复现有的加密备份。
SECRETS_ENCRYPTION_KEY已存储的集成凭据(如聊天目标和个人 webhook 密钥)将无法再解密。
MFA_ENCRYPTION_KEY已注册的身份验证器和未解决的 MFA 挑战将无效。
MEDIA_SIGNING_SECRET现有签名媒体 URL 停止解析。
JWT_SECRET每个人都已退出。