我现在不太喜欢把所有小项目都丢到一堆不同平台上。
一个 Next.js 项目放 Vercel,一个后端放 Railway,一个数据库放 Supabase,再加一个 Redis、一个定时任务。刚开始确实省事,但项目一多,账单、环境变量、域名、日志和备份就开始分散。
Coolify 解决的是这个问题:你自己买一台 VPS,然后在上面搭一个类似 Vercel / Heroku / Railway 的部署面板。
它不是 Kubernetes,也不是传统宝塔面板。更准确地说,它是一个自托管 PaaS:连 Git 仓库、填环境变量、绑定域名、点部署,然后 Coolify 帮你处理 Docker 构建、容器运行、反向代理和 HTTPS。
这篇就按我会给朋友交代的方式讲:什么 VPS 适合跑 Coolify,怎么安装,第一套应用怎么上线,哪些坑要提前避开。
如果你只是部署一个静态站,Vercel、Netlify 还是更省心。Coolify 真正适合下面这几种人:
| 场景 | 适不适合 Coolify | 原因 |
|---|---|---|
| 多个小项目要长期跑 | 适合 | 一台 VPS 管多个应用,成本固定 |
| 想自托管 n8n、Umami、Postgres、Redis | 适合 | Coolify 有服务模板,管理方便 |
| 公司内部工具、管理后台 | 适合 | 数据和部署流程都在自己服务器上 |
| 只跑一个静态官网 | 不一定 | 可能比 Vercel 更折腾 |
| 高并发大业务 | 谨慎 | 单机 VPS 不是自动扩容平台 |
我自己的判断很简单:
- 你有 3 个以上项目要跑,Coolify 开始有价值
- 你只想部署一个博客,直接 Docker Compose + Caddy 可能更轻
- 你完全不想管服务器安全和备份,那就别自托管
Coolify 省的是“每个项目手写 Docker Compose、反代、证书、环境变量”的时间,不是帮你免掉服务器维护。
Coolify 本身不算特别吃资源,真正吃资源的是构建过程。
比如你部署一个 Next.js 项目,构建时 CPU 和内存会突然上去;部署一个带数据库的服务,还要给 Postgres、Redis、应用容器留空间。
我建议这样选:
| 用法 | 最低配置 | 更稳配置 |
|---|---|---|
| 体验、测试 | 2 核 / 2GB / 30GB SSD | 2 核 / 4GB / 40GB SSD |
| 跑 2-5 个小应用 | 2 核 / 4GB / 60GB SSD | 4 核 / 8GB / 80GB SSD |
| 多个生产项目 | 4 核 / 8GB 起步 | 独享 CPU 更舒服 |
这里有个容易忽略的点:便宜共享 CPU VPS 能跑,但构建会慢。
如果你的项目经常 npm install、pnpm build,共享 CPU 抖起来很明显。应用运行时可能没问题,但每次部署都等半天,会很烦。
系统方面,优先选:
- Ubuntu 22.04 / 24.04 LTS
- Debian 12
- 干净系统,不要装一堆旧面板
如果这台 VPS 上已经跑了 Nginx、Caddy、宝塔、1Panel,先想清楚再装 Coolify。因为 Coolify 自带反向代理,端口和证书管理很容易跟现有服务打架。
官方安装很简单,但别急着复制命令。
先 SSH 登录 VPS:
ssh root@your_server_ip
更新系统:
apt update && apt upgrade -y
检查磁盘空间:
df -h
检查端口有没有被占用:
ss -tlnp | grep -E ':80|:443|:8000|:6001|:6002'
Coolify 自托管常见会用到这些端口:
| 端口 | 用途 |
|---|---|
| 22 | SSH 登录服务器 |
| 80 | HTTP / Let’s Encrypt 证书验证 |
| 443 | HTTPS 访问应用 |
| 8000 | Coolify 初始面板访问 |
| 6001 | 实时通信 |
| 6002 | Web Terminal,部分版本需要 |
如果你已经有 Nginx 占着 80/443,Coolify 的 Traefik 就没法正常接管公网流量。
官方推荐的安装方式是脚本安装。用 root 用户可以这样跑:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
如果你不是 root 用户,用 sudo:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
安装脚本会做几件事:
- 安装 Docker 和 Docker Compose
- 创建
/data/coolify/相关目录 - 拉取 Coolify 容器镜像
- 启动 Coolify 面板
- 启动默认反向代理
- 配置内部数据库和运行所需服务
安装完成后,先看容器是否起来:
docker ps --filter "name=coolify"
如果看到 Coolify 相关容器是 Up 状态,说明基本启动成功。
浏览器访问:
http://your_server_ip:8000
进去后创建管理员账号。这里别用弱密码,Coolify 面板一旦被人进来,对方基本就能控制你服务器上的应用。
测试阶段用 IP + 8000 可以,长期使用一定要绑域名。
比如你准备:
coolify.example.com
DNS 里添加一条 A 记录:
coolify.example.com -> your_server_ip
刚开始建议 Cloudflare 先用 DNS only,也就是灰云。等证书正常签发、面板和应用都能访问,再考虑打开橙云代理。
然后在 Coolify 的设置里把 Instance Domain 改成:
https://coolify.example.com
Coolify 默认用 Traefik 做反向代理,会自动处理 HTTPS。正常情况下,你不需要自己装 Certbot,也不用手写 Nginx 配置。
如果你已经有外层 Cloudflare,要注意两件事:
- 第一次签证书时,80/443 端口必须通
- 打开 Cloudflare 代理后,要测试面板日志流和部署状态,避免 WebSocket 出问题
Coolify 最常见的用法是连 Git 仓库部署。
大致流程是:
- 在 Coolify 里添加 GitHub / GitLab 连接
- 选择仓库和分支
- 选择构建方式,比如 Nixpacks、Dockerfile 或 Docker Compose
- 填环境变量
- 绑定域名
- 点击 Deploy
如果是普通 Node.js 项目,Coolify 通常能自动识别。
但我更建议生产项目自己准备 Dockerfile,至少可控一点。比如一个简单 Node 应用:
FROM node:22-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
FROM node:22-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app .
EXPOSE 3000
CMD ["npm", "start"]
然后在 Coolify 里设置应用端口为 3000,域名填:
app.example.com
部署成功后,Coolify 会把请求从公网域名转到容器内部端口。
Coolify 方便归方便,但环境变量还是要自己管好。
常见变量包括:
DATABASE_URL=postgresql://user:password@host:5432/db
REDIS_URL=redis://redis:6379
APP_URL=https://app.example.com
NODE_ENV=production
几个建议:
- 不要把
.env提交到 Git 仓库 - 生产环境密码用随机长字符串
- 数据库密码不要跟面板密码一样
- 改完关键变量后重新部署并看日志
如果应用启动失败,第一眼先看部署日志,不要盲目重装。
Coolify 可以部署应用,也可以部署服务,比如 PostgreSQL、Redis、MySQL、MongoDB、n8n、Umami 这类。
但别把它理解成“点一下就永远不用管”。数据库最重要的是备份。
如果你用 Coolify 部署 PostgreSQL,至少要确认:
- 数据目录在持久化 Volume 里
- 有定期备份
- 备份文件不只放在同一台 VPS 上
- 升级前能恢复
我一般会把备份放到对象存储,例如 Cloudflare R2、Backblaze B2、S3 兼容存储。
一个简单的数据库备份思路是:
pg_dump "$DATABASE_URL" | gzip > app-db-$(date +%F).sql.gz
然后用 rclone 同步到远程:
rclone copy app-db-$(date +%F).sql.gz r2:backup-bucket/coolify/app/
这不一定是最优雅的方式,但至少比“备份和数据库都在同一块 VPS 硬盘上”靠谱。
如果刚装完就把端口全锁死,很容易把自己挡在门外。
可以先确认 SSH 端口:
ss -tlnp | grep ssh
再配置 UFW:
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8000/tcp
ufw allow 6001/tcp
ufw allow 6002/tcp
ufw enable
ufw status
等你已经通过 https://coolify.example.com 正常访问面板后,8000 通常就不需要继续暴露公网了。
可以收紧:
ufw delete allow 8000/tcp
如果你不用 Web Terminal,也可以根据实际情况收紧 6002。但别机械照抄,先确认当前版本和功能是否需要。
先跑官方诊断思路里最关键的几条:
docker --version
docker compose version
systemctl status docker --no-pager -l
docker ps -a --filter "name=coolify"
df -h /
ls -lt /data/coolify/source/*.log 2>/dev/null | head -5
很多失败不是 Coolify 本身坏了,而是:
- 系统太旧
- Docker 没装好
- 磁盘满了
- 8000 端口被占
- 脚本没权限写目录
先看容器:
docker ps -a --filter "name=coolify"
再看端口:
ss -tlnp | grep 8000
如果容器在跑,但访问不了,检查云厂商安全组和 UFW。很多人只开了系统防火墙,忘了云厂商后台还有一层安全组。
502 最常见的原因是应用端口没对上。
比如你的 Node 应用实际监听 3000,但 Coolify 里填成 8080,Traefik 就会转错地方。
进容器看监听端口:
docker ps
docker logs container_name --tail=100
应用里也要确认监听地址不是只绑定 127.0.0.1。在容器里通常要监听:
0.0.0.0
按顺序查:
- DNS A 记录是否指向这台 VPS
- 80 和 443 是否开放
- Cloudflare 是否暂时设为 DNS only
- 域名有没有 AAAA 记录指向错误 IPv6
- 同一个域名是否被旧 Nginx / Caddy 占用
不要一上来就删容器。证书问题大多数是 DNS 和端口问题。
这类问题在 2GB 内存 VPS 上很常见。
先看内存:
free -h
再看 OOM:
journalctl -k | grep -i "out of memory"
临时缓解可以加 swap:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
但长期看,如果你经常构建大型前端项目,还是升级到 4GB 或 8GB 更实际。
Coolify 支持更新,但生产环境别看到按钮就点。
我的习惯是:
- 先看当前业务是否正常
- 备份 Coolify 相关数据和应用数据库
- 避开业务高峰期
- 更新后测试面板、部署、日志流、HTTPS
如果你用它托管多个项目,更新 Coolify 就不只是更新一个面板,而是影响整台部署平台。
这几个工具经常被放在一起比较,但用途不一样。
| 工具 | 更适合做什么 |
|---|---|
| Coolify | Git 驱动的应用部署、PaaS、自托管项目上线 |
| 1Panel | Docker 应用商店、网站管理、服务器面板 |
| Portainer | Docker 容器、Stack、Volume 管理 |
| 宝塔 / aaPanel | 传统 PHP 网站、LNMP、可视化建站 |
如果你的核心需求是“代码一 push 就部署”,Coolify 更顺手。
如果你只是想管理 Docker 容器,Portainer 更轻。
如果你是新手建 WordPress,1Panel 或宝塔可能更直接。
Coolify 最值得用的场景,不是省那几美元平台费,而是把部署流程收回来。
你可以在一台 4 核 8GB VPS 上跑:
- 一个前端应用
- 一个后端 API
- 一个 PostgreSQL
- 一个 Redis
- 一个 n8n
- 一个 Umami
- 一个内部管理后台
这些都在同一个面板里管理,域名、证书、日志、部署记录都集中起来,确实舒服。
但代价也很明确:服务器安全、备份、升级、监控都变成你的责任。
所以我会这样选:
- 只是玩玩:2 核 4GB VPS 可以试
- 准备长期用:4 核 8GB + 自动备份 + 监控
- 公司核心业务:别只靠单机,至少要有异地备份和迁移预案
Coolify 是个好工具,但它不是魔法。它能把 VPS 变成部署平台,前提是你愿意把这台 VPS 当成一套真正的生产环境来维护。