📦 Backup & Migration - Flarum 2 便携备份工具
Flarum 的完整备份、导出和导入系统 - 将你的论坛打包成单个 .flarum 文件,可在相同或不同服务器上恢复,支持可选的 libsodium 加密。

受 All-in-One WP Migration 启发,但完全从零编写,使用自定义流式格式(无需 .wpress,无需 zip),因此多 GB 的备份从不需要全部载入内存。
✨ 功能
- 单个便携
.flarum 文件 — 数据库、public/assets、storage 以及所有已安装的扩展(workbench 或 vendor)
- 逐扩展选择器,每行带标签显示是 composer 管理还是本地安装
composer.json + composer.lock 在打包扩展时一同携带,确保目标站点的 vendor 扩展可复现
- 可续传的导出和导入(每次 HTTP 请求 4 MB),带实时进度条和上传百分比指示器
- 可选的 libsodium 加密 — 密封盒包装每个存档的 XChaCha20-Poly1305 流密钥。公钥在数据库中,私钥仅在
config.php 中
- 跨服务器传输 — 使用对方的公钥加密,导入时粘贴匹配的私钥
- 自动 URL 重写 — 源 URL 记录在存档头部,在不同主机上恢复时会自动重写
settings、posts.content 和 posts.parsed_content
- 可选择恢复 — 按分区和扩展勾选复选框,从存档清单中读取选项
- 此外还有:外键安全的 DDL 重放、
node_modules/.git 清理、当数据库恢复替换管理员 session 时显示专用的"你已登出"页面
📸 截图
创建备份

选择要恢复的内容

恢复成功后

📥 安装
composer require ramon/backup
php flarum migrate
php flarum cache:clear
然后在 Extensions 页面启用 Backup & Migration。
🔗 链接
MIT 许可证,已发布到 Packagist。在 Flarum 2.0 + MySQL 8 / PHP 8.3 和 8.5 上测试通过。libsodium 仅在你选择加密时才需要。
欢迎反馈 — 特别是 vendor 扩展恢复和大存档的边界情况。Bug 报告和 PR 请在 GitHub 提交。🙌