如何在 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 上按照以下步骤操作:

  1. 使用标准的 curl 命令安装 Coolify。
  2. 从你的 S3 bucket 将 .pgdump 文件下载到新服务器。
  3. 运行恢复命令:

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 环境迁移或恢复到新服务器上。

不要等到周五晚上才发现自己没有备份。现在就去设置它吧!