如何在 12 分钟内备份并恢复 Coolify
你的服务器今天看起来很安全。你花了几个小时来配置 Coolify。你托管着自己的应用、数据库和博客。你感觉一切尽在掌握。
然后灾难发生了。你的 VPS 提供商关闭了你所在的区域。你运行了一个错误的命令。服务器宕机了。
如果你没有备份,你会失去一切。本指南可以防止这种情况发生。你可以在 12 分钟内设置好自动备份并完成完整恢复。
步骤 1:设置 S3 存储
Coolify 需要一个地方来存储备份。请使用兼容 S3 的存储。Cloudflare R2 是一个绝佳的选择,因为它没有出站流量费用 (egress fees)。
你需要从存储提供商那里获取以下详细信息:
- Endpoint
- Region
- Access Key
- Secret Key
- Bucket Name
在 Coolify 中,前往 S3 Storage 选项卡。添加你的详细信息并点击 Validate Connection。
步骤 2:启用自动备份
前往 Settings,然后选择 Backup。
- 开启 S3 Backup。
- 开启 Backup。
- 选择你的 S3 存储源。
- 将频率设置为 Daily。
立即运行一次手动备份。检查你的 S3 bucket 以确认文件已存在。
步骤 3:保存你的 APP_KEY
这是最重要的一步。Coolify 会加密你的数据。如果你丢失了这个密钥,你的备份将毫无用处。
SSH 进入你的服务器并运行:
cat /data/coolify/source/.env
找到以 APP_KEY 开头的行。复制这个值。将其保存在密码管理器中。千万不要跳过这一步。
步骤 4:恢复到新服务器
如果你的服务器宕机了,请在新 VPS 上按照以下步骤操作:
- 使用标准的
curl命令安装 Coolify。 - 从你的 S3 bucket 将
.pgdump文件下载到新服务器。 - 运行恢复命令:
sudo docker exec -i coolify-db pg_restore --username coolify --verbose --dbname coolify < /path/to/your-backup.pgdump
你可能会看到关于现有表的警告。忽略它们即可,程序仍然可以正常工作。
步骤 5:修复 500 错误
恢复之后,点击应用时可能会看到 500 错误。这是因为新服务器使用了不同的 APP_KEY。
修复方法如下:
- 打开新的
.env文件:nano /data/coolify/source/.env - 添加这一行:
APP_PREVIOUS_KEYS=base64:your-old-app-key - 保存并使用安装脚本重启 Coolify。
现在你的旧数据可以再次读取了。
总结清单:
- 设置 S3 存储。
- 启用每日备份。
- 安全地保存你的 APP_KEY。
- 测试一次手动备份。
自托管让你拥有掌控权。备份让你拥有安心感。
如何在周五晚上服务器宕机前,用 12 分钟完成 Coolify 的备份与恢复
现在是周五晚上。你度过了漫长的一周,终于准备关掉电脑,享受周末了。突然,你的手机响了——你的服务器挂了。
如果你正在使用 Coolify,而且你没有备份,那么你的周末可能就此泡汤了。
别担心,我在这篇文章中将向你展示如何在短短 12 分钟内备份并恢复 Coolify。
核心思路
Coolify 的所有配置、数据库、应用设置和密钥都存储在服务器的 /data/coolify 目录中。
只要我们能备份这个目录,我们就能在任何新服务器上完美恢复 Coolify。
第一步:备份
我们将使用 rclone,这是一个非常强大的命令行工具,可以将数据同步到各种云存储(如 S3、Google Drive、Dropbox 等)。
1. 安装 rclone
如果你还没有安装 rclone,可以使用以下命令进行安装:
sudo -v && curl https://rclone.org/install.sh | sudo bash
2. 配置 rclone
运行 rclone config 并按照提示配置你的远程存储(例如 S3)。
3. 执行备份
一旦配置完成,你只需要运行以下命令即可备份所有 Coolify 数据:
rclone sync /data/coolify remote:your-bucket-name/coolify-backup
[!TIP] 你可以设置一个 Cron Job 来每天自动运行这个命令,确保你的数据始终是最新的。
第二步:恢复
假设你的服务器不幸“阵亡”了,你现在已经准备好了一台全新的服务器。
1. 安装 Docker 和 Coolify
首先,在新服务器上安装 Docker,然后使用 Coolify 的官方安装脚本:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
2. 停止 Coolify 容器
在恢复数据之前,必须停止正在运行的 Coolify 容器,以防止文件冲突或损坏。
docker stop $(docker ps -a -q --filter "name=coolify")
3. 从远程存储恢复数据
使用 rclone 将备份的数据同步回新服务器的 /data/coolify 目录:
rclone sync remote:your-bucket-name/coolify-backup /data/coolify
4. 重新启动 Coolify
现在,重新启动 Coolify 容器:
docker start $(docker ps -a -q --filter "name=coolify")
总结
只需这简单的几步,你就可以在几分钟内将你的整个 Coolify 环境迁移或恢复到新服务器上。
不要等到周五晚上才发现自己没有备份。现在就去设置它吧!