Coolify 自托管 PaaS 平台搭建指南:替代 Heroku / Vercel

引言

Heroku 在 2022 年关闭了免费计划,Vercel 的 Pro 套餐每月 20 美元起步,Render 的付费计划也价格不菲……主流的 PaaS 平台正在变得越来越贵。如果您拥有自己的 VPS,为什么不自己搭建一个 PaaS 呢?

Coolify 就是答案。它是一个开源的自托管 PaaS 平台,可以在您的 VPS 上运行,支持部署静态站点、Node.js、Python、PHP、Docker 容器,甚至数据库和 WordPress。它被誉为"开源的 Heroku",安装简单,功能强大。

本文将手把手教您在 VPS 上部署 Coolify,并完成第一个应用的自动部署。

什么是 Coolify?

Coolify 是一个开源、自托管的 PaaS(Platform as a Service,平台即服务)解决方案。它提供了一套可视化的 Web 界面,让您可以通过 Git 仓库、Docker 镜像或手动上传来部署应用。

核心特性:

  • 🆓 完全免费开源 — 无需支付任何平台费用(您只需付 VPS 的钱)
  • 🔄 Git 自动部署 — 连接 GitHub/GitLab/Bitbucket,Push 即部署
  • 🐳 Docker 原生支持 — 可以部署任意 Docker 镜像
  • 📦 内置数据库 — 一键创建 PostgreSQL、MySQL、Redis、MongoDB 等
  • 🔐 SSL 自动配置 — 集成 Let’s Encrypt,自动申请和续期 SSL 证书
  • 🌐 自定义域名 — 为每个应用绑定独立域名
  • 🔄 自动备份 — 支持定期备份数据库和卷数据
  • 🎯 资源监控 — 实时查看 CPU、内存、磁盘使用情况
  • 🏗️ 构建包支持 — 支持 Node.js、Python、PHP、Ruby、Go、Deno、静态文件

与主流 PaaS 对比

特性Coolify (自托管)HerokuVercelRailway
月费💰 VPS 成本 ($4-10)$5-$25+/月起$20+/月起$5-$20+/月起
应用数量无限制受计划限制受计划限制受计划限制
Docker 支持✅ 完整❌ 有限❌ 不支持✅ 完整
数据库支持✅ 完整✅ 有限❌ 不支持✅ 完整
部署方式Git / Docker / 上传GitGitGit / Docker
开源✅ 完全开源❌ 闭源❌ 闭源❌ 闭源
数据主权✅ 完全控制❌ 数据在 Heroku❌ 数据在 Vercel❌ 数据在 Railway

前置条件

在开始之前,确保您满足以下条件:

  1. 一台 VPS — 推荐配置:2 核 CPU / 4GB 内存 / 40GB 磁盘(最低 1 核/2GB 也可以运行)
  2. Docker 和 Docker Compose — Coolify 依赖 Docker 运行
  3. 一个域名(可选但强烈推荐)— 用于访问 Coolify 面板和部署的应用
  4. SSH 访问 — 能够通过 SSH 连接到 VPS

推荐的 VPS 服务商

  • Hetzner Cloud — €4.15/月起(性价比之王)
  • DigitalOcean — $6/月起(文档丰富)
  • Vultr — $6/月起(全球节点多)
  • 阿里云轻量服务器 — ¥24/月起(国内访问快)

第一步:安装 Docker

如果您的 VPS 尚未安装 Docker,请先执行以下命令:

# 安装 Docker(Ubuntu/Debian)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 退出并重新登录,或者执行
newgrp docker

# 验证安装
docker --version
docker compose version

第二步:安装 Coolify

Coolify 提供了一键安装脚本,非常简单:

# 下载并运行安装脚本
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

安装脚本会自动完成以下工作:

  • 拉取 Coolify 的 Docker 镜像
  • 创建必要的目录结构
  • 配置反向代理(默认使用 Traefik)
  • 设置 PostgreSQL 数据库
  • 启动所有服务

安装完成后,您会看到类似这样的输出:

✅ Coolify is ready!
   URL:      http://<your-vps-ip>:8000
   Username: admin
   Password: <auto-generated-password>

请务必立即登录并修改默认密码!

第三步:初始配置

3.1 登录面板

打开浏览器访问 http://<your-vps-ip>:8000,使用自动生成的密码登录。

3.2 配置域名和 SSL

进入 Settings → General,设置 Coolify 面板的访问域名,例如 coolify.yourdomain.com。然后启用 Let’s Encrypt 自动 SSL。

这样做的好处是:

  • 通过 HTTPS 安全访问管理面板
  • 子域名也会自动继承 SSL 配置

3.3 配置 DNS

在您的域名 DNS 管理面板中,添加以下 A 记录:

coolify.yourdomain.com  →  <你的 VPS IP>

3.4 添加服务器

Coolify 支持管理多台服务器。在 Servers 页面添加您的 VPS:

  1. 点击 Add Server
  2. 选择 Remote Server
  3. 输入服务器名称和 IP 地址
  4. 选择验证方式(推荐使用 SSH 密钥)
  5. Coolify 会自动在服务器上安装必要的代理

如果 Coolify 和您的应用运行在同一台 VPS 上,也可以使用 Localhost 模式(默认已配置)。

第四步:部署第一个应用

4.1 通过 Git 仓库部署

这是最常用的方式——连接您的 GitHub/GitLab 仓库,每次 Push 自动部署。

  1. 在 Coolify 面板中进入 Applications → New
  2. 选择 Private Repository(私有仓库)或 Public Repository(公开仓库)
  3. 点击 Connect 连接 GitHub/GitLab
  4. 选择要部署的仓库和分支
  5. Coolify 会自动检测项目类型:
    • package.json → Node.js
    • requirements.txt → Python
    • composer.json → PHP
    • Dockerfile → Docker
    • 无构建配置 → 静态文件
  6. 配置域名(例如 myapp.yourdomain.com
  7. 点击 Deploy

4.2 部署一个简单的 Node.js 应用

让我们用一段示例代码来演示。假设您有一个简单的 Express 应用:

// app.js
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello from Coolify! 🚀');
});

app.listen(port, () => {
  console.log(`App running on port ${port}`);
});
{
  "name": "coolify-demo",
  "version": "1.0.0",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.18.0"
  }
}

将这个仓库连接到 Coolify,它会自动执行 npm install && npm start,并在几秒钟内完成部署。

4.3 部署 Docker Compose 应用

如果您有复杂的多容器应用,可以使用 Docker Compose:

  1. Applications → New 中选择 Docker Compose
  2. 上传或粘贴您的 docker-compose.yml
  3. Coolify 会解析并显示所有服务
  4. 配置每个服务的域名和环境变量
  5. 点击部署

第五步:数据库管理

Coolify 内置了数据库管理功能,无需手动创建 Docker 容器:

支持的数据库类型:

  • PostgreSQL — 关系型数据库
  • MySQL / MariaDB — 关系型数据库
  • MongoDB — NoSQL 文档数据库
  • Redis — 缓存 / 键值存储
  • DragonFly — 高性能 Redis 替代品
  • CouchDB — NoSQL 数据库
  • ClickHouse — 列式分析数据库

创建数据库非常简单:

  1. 进入 Databases → New
  2. 选择数据库类型和版本
  3. 配置资源限制(CPU/内存)
  4. 设置自动备份策略
  5. 点击 Create

创建完成后,Coolify 会自动生成连接凭据(主机、端口、用户名、密码),您可以直接在应用的环境变量中使用。

第六步:环境变量与配置

为应用设置环境变量

在应用详情页的 Environment Variables 选项卡中,可以添加:

  • Key-Value 对 — 逐个添加
  • 批量导入 — 从 .env 文件导入
  • 引用其他服务 — 自动填入数据库连接 URL

Coolify 还支持 环境变量分组,方便在多个应用之间共享配置。

构建时 vs 运行时

  • 构建时变量(Build-time):用于前端构建(如 VITE_API_URL
  • 运行时变量(Runtime):应用运行时需要的配置(如 DATABASE_URL

Coolify 自动区分这两种变量,并在正确的阶段注入。

第七步:SSL 证书和自定义域名

自动 SSL

Coolify 集成了 Let’s Encrypt 的 ACME 客户端,可以为每个应用自动申请 SSL 证书:

  1. 在应用设置中开启 Auto SSL
  2. 确保域名的 DNS A 记录指向您的 VPS
  3. Coolify 会自动处理证书的申请和续期

自定义域名

为应用绑定域名非常简单:

  1. 在应用详情页的 Domains 区域点击 Add Domain
  2. 输入您的域名(如 blog.yourdomain.com
  3. 开启 SSL 自动配置
  4. 更新 DNS 指向您的 VPS

Coolify 会自动配置反向代理,将流量路由到正确的容器。

第八步:Git 自动部署流水线

Coolify 最强大的功能之一就是 Git 驱动的自动部署流水线。

设置自动部署

  1. 连接应用与 GitHub/GitLab 仓库
  2. Coolify 会自动添加 Webhook
  3. 每次向指定分支 Push 代码,Coolify 都会:
    • 拉取最新代码
    • 运行构建命令(如 npm run build
    • 构建 Docker 镜像
    • 部署新版本
    • 执行健康检查
    • 如果失败,自动回滚到上一个版本

部署回滚

如果新版本出现问题,只需在 Coolify 面板中点击 Rollback 按钮,即可回滚到之前的任意部署版本。这个功能在生产环境中非常实用。

高级技巧

1. 多服务器负载均衡

Coolify 支持管理多台 VPS。您可以将多台服务器组成集群,实现:

  • 高可用性
  • 负载均衡
  • 地理分布部署

2. 自定义构建包

对于特殊需求,可以自定义构建命令:

# 例如:使用 pnpm 替代 npm
npm install -g pnpm
pnpm install
pnpm build
pnpm start

3. Webhook 集成

Coolify 可以作为部署 Webhook 的终点,让外部 CI/CD 管道触发部署:

POST https://coolify.yourdomain.com/api/v1/deploy?force=false
Authorization: Bearer <your-api-token>

4. 资源监控和告警

Coolify 提供内置的资源监控面板,可以查看:

  • CPU 使用率曲线
  • 内存占用趋势
  • 磁盘 I/O
  • 网络流量

同时可以设置告警阈值,当资源使用超过设定值时会发送通知。

注意事项

  1. 安全性:确保 Coolify 面板只通过 HTTPS 访问,并设置强密码
  2. 资源规划:每个应用都会占用一定的资源,根据 VPS 规格合理规划部署数量
  3. 备份策略:定期备份 Coolify 的数据库和配置(在 Settings → Backup 中设置)
  4. 更新维护:Coolify 会提示可用更新,建议及时升级以获得安全补丁
  5. 防火墙配置:确保 VPS 防火墙开放 80、443 和 8000 端口

总结

Coolify 是自托管领域的明星项目。它让拥有 VPS 的用户能够以极低的成本获得原本需要支付高额费用的 PaaS 体验。

核心优势总结:

  • ✅ 完全免费开源,无隐藏费用
  • ✅ 一键安装,几分钟即可上线
  • ✅ 支持各种语言和框架
  • ✅ Git 自动部署,工作流丝滑
  • ✅ 内置数据库和 SSL 管理
  • ✅ 完全控制您的数据

相比每月支付 $20-$50+ 给 Heroku、Vercel 或 Railway,一台 $4-$10 的 VPS 搭配 Coolify,可以部署几十个应用且不受任何限制。

现在就动手试试吧!用您的 VPS 搭建属于自己的 PaaS 平台,享受自由部署的乐趣。


Happy self-hosting! 🚀