别再给云厂商交“AI 税”了:vibe 项目的自托管(Coolify/Dokku)落地实战
月账单超过 $50、需要常驻进程、数据想自己攥着——出现这三个信号,就该认真考虑把 vibe 项目从 Vercel 搬到自己的 VPS。本文给出一人团队 7 步落地 SOP、6 个必躲的坑、真实成本拐点对照,以及 30 分钟回滚预案。

先说清楚:这篇不谈"要不要逃",只谈"逃到哪、怎么落地"
云托管的账单有一种温柔的残忍:它每个月只涨一点点,等你反应过来,一年已经交了几千美金。对 vibe coding 做出来的项目来说,这个问题更尖锐——AI 功能意味着常驻进程、WebSocket 长连接、后台任务,这些恰恰是 serverless 按量计费最不友好的负载形态。
什么时候该认真考虑搬家?三个信号,出现一个就值得算账,出现两个就该动手:
- 信号一:月账单超过 $50。这不是拍脑袋的数字——一台够用的 VPS(2C4G)月租大约 €5(约 $5.5),$50 意味着你在为"方便"支付近 10 倍溢价。
- 信号二:你需要云托管不擅长的东西。常驻的 worker 进程、WebSocket 长连接、定时任务、本地文件缓存、特殊端口——serverless 平台要么不支持,要么贵得离谱。
- 信号三:数据你想自己攥着。用户数据、业务数据库放在自己手里,合规和心理上都踏实。这是钱买不到的理由。
一个一人团队的真实账单拆解:Vercel Pro $20/人/月打底,加上 AI 功能带来的流量和函数执行时长,一个有几百日活的 vibe 项目,月账单 $60~150 是常态。而同样负载搬到 VPS 上,€5/月的机器 + 几乎可以忽略的流量费,一年能省下一台不错的显示器。本文就是把这条路走通:7 步 SOP,照着做一下午能上线。
四种姿势对照:先选对工具,再谈动手
自托管不是只有"裸机手搓"一条路。按上手成本从低到高,有四种主流姿势:
- Coolify(推荐新手):开源的"自托管 Heroku/Vercel",Web 界面点几下就能从 Git 仓库部署,自动 HTTPS、数据库一键起、环境变量管理全有。适合:想最快摆脱云账单、又不想学运维的一人团队。
- Dokku(推荐极简派):号称"最小的 PaaS",核心就是
git push部署,插件装数据库。资源占用极小,一台 1C1G 的小鸡都能跑。适合:项目简单、就想git push上线的场景。 - CapRover:和 Coolify 定位接近,Web 界面 + 一键应用市场,生态里预置应用多。适合:需要顺手搭一堆周边服务(监控、看板)的人。
- 裸 VPS 手搓(Docker Compose):自由度最高,什么都自己写 compose 文件。适合:已经有运维经验、或负载特殊到面板满足不了的人。
一句话决策:第一次自托管,无脑选 Coolify。它的完成度在 2026 年已经足够高,文档和社区都成熟;等你对自托管的每个环节都心里有数了,再考虑要不要换更轻的 Dokku 或更自由的手搓。注意一个边界:本文讲的是"逃到哪、怎么落地"的实操;如果你还在纠结"为什么逃、什么时候逃",先去看站内的《vendor-lockin-escape-plan-guide》(逃生策略篇),那篇负责讲决策,这篇负责讲动手。
7 步落地 SOP:一下午把项目搬上 VPS
图 1:7 步从云托管搬到 VPS(Coolify)的落地 SOP
第 1 步:选 VPS,2C4G 起步
配置建议:2 核 4G 内存起步,这是 Coolify + 一个 Node 应用 + Postgres + Redis 舒服运行的下限。厂商不展开排名,选你所在地区延迟低、口碑老的有 IPv4 的即可,月付 €5 左右。地区选离你用户最近的;顺手打开快照备份功能(哪怕付费),这是你最后的后悔药。下单后第一件事:新建非 root 用户、配 SSH key 登录、禁掉密码登录。
第 2 步:装 Coolify,一条命令的事
Coolify 官方提供一键安装脚本,一台干净的 Ubuntu 上跑完就有 Web 面板。装完先做三件事:改掉默认端口或套一层访问控制、开防火墙(后面细说)、把面板自身的备份打开。记住:面板本身也是个应用,它挂了你的部署能力就没了,所以面板的可用性要优先保障。
第 3 步:接域名,自动 HTTPS
在域名 DNS 加一条 A 记录指向 VPS 公网 IP,然后在 Coolify 里给应用绑定域名,Let's Encrypt 证书自动签发、自动续期。这一步的坑后面单列——证书续期失败是自托管最高频的半夜报警原因之一,续期前记得确认 80 端口可达、DNS 没乱动。
第 4 步:从 Git 一键部署
Coolify 里新建应用、连上 GitHub/GitLab 仓库,选分支、填构建配置(Node 项目基本是 npm ci && npm run build),点部署。第一次部署建议开着日志看完:构建时内存爆掉是最常见的失败原因(解决办法见第 4 节的坑)。部署成功后,Coolify 会给每次 push 自动重新部署——你找回了 Vercel 时代的"push 即上线"体感。
第 5 步:环境变量与 secrets 管理
铁律:密钥永远不进代码仓库。AI 项目的 key 尤其多(模型 API key、数据库连接串、第三方 webhook secret),全部进 Coolify 的环境变量管理。生产和预览环境分开两套;轮换 key 的时候先加新 key、验证通过再删旧 key。本地开发用 .env,并把 .env.example(只留 key 名、不留值)提交到仓库,方便未来的你。
第 6 步:Postgres / Redis 一键起
别在应用容器里塞数据库。用 Coolify 的"数据库"功能一键起 Postgres 和 Redis,数据卷挂到宿主机目录。应用通过内网服务名连接(比如 postgres:5432),不走公网。这里埋第一个备份点:数据库起好当天,就把自动备份配好,别想着"下周再配"——第 4 节会讲为什么。
第 7 步:备份策略与监控,最后但最重要
备份按 3-2-1 原则:3 份拷贝、2 种介质、1 份异地。落地到一人团队就是:VPS 快照(同机房快速恢复)+ 数据库每日自动 dump 传到对象存储(异地)+ 每月手动下一份到本地硬盘。监控至少要有 uptime 监控 + 告警(应用挂了你得比用户先知道,免费方案一大把),再加磁盘/内存水位告警——自托管的机器不会自己喊救命。
vibe coder 最容易翻车的 6 个坑
这 6 个坑每一个都真实发生过不止一次,按"血泪指数"排序:
- 坑 1:构建时内存爆掉。Next.js 这类项目构建时吃内存很凶,2C4G 的机器上如果同时跑着数据库,构建被 OOM kill 是家常便饭。解法:给构建加 swap,或错峰构建(半夜没人用的时候),或直接上 4C8G——内存是最值得花的钱。
- 坑 2:磁盘被日志和镜像塞满。Docker 镜像层层堆、应用日志无限涨,某天早上机器直接写满宕机。解法:Coolify/面板里开镜像自动清理,应用日志接 logrotate 或直接打到外部日志服务,磁盘水位 80% 就告警。
- 坑 3:证书续期失败。Let's Encrypt 90 天一续,续期那一刻 80 端口被占用、DNS 记录被改过、防火墙规则动过,任何一个都会让续期失败,然后你的 HTTPS 在某个深夜过期。解法:续期前做健康检查,监控里加"证书剩余有效期 < 14 天"告警。
- 坑 4:数据库没备份。上面 SOP 里强调了两遍的事,依然是最高发的事故:机器重装、磁盘损坏、误删表,发生时才发现备份任务三个月前就失败了。解法:备份任务本身也要监控——"备份成功"才算数,每季度做一次恢复演练。
- 坑 5:单点挂了没人知道。云托管时代宕机是云厂商的 pager duty,自托管时代是你。uptime 监控 + 电话/短信告警是底线,别只配邮件告警(半夜没人看邮件)。
- 坑 6:安全组端口裸奔。数据库端口、面板端口直接暴露在公网,扫描器几小时内就会找上门。解法:安全组只开 22(且限 IP)、80、443;数据库和面板只监听内网;SSH 必须 key 登录。这是搬家的第一天就要做完的事,不是"有空再说"。
成本账:拐点在哪里
图 2:Vercel vs 自托管 VPS——月费用随流量变化,存在明确的成本拐点
算一笔具体的账(均为 2026 年常见价,示意性质):Vercel Pro $20/人/月打底,流量超量后按约 $0.40/GB 计费;自托管 VPS 约 €5/月固定,流量费基本可以忽略。曲线画出来是个清晰的交叉:流量很小的个人项目,Vercel 反而更便宜($20 买断省心);但 AI 功能的流量一上来——图片生成、流式输出、文件上传下载——月流量冲过几十 GB 之后,自托管的成本优势是指数级拉开的。
拐点公式可以记成一句话:当"云托管月账单"持续 3 个月超过"VPS 月租 × 5",就该搬。乘 5 是给你的运维时间打的折——别只算机器钱,要算你每月花在运维上的小时数。按这个公式,$50/月的云账单对应 €5 的 VPS,正好是第 1 节信号一的来源。
还要算一笔"隐性税":AI 时代的 vibe 项目,账单里经常藏着"构建分钟数"和"函数执行时长"两项。AI 生成代码越快、迭代越频繁,构建分钟烧得越快——你在为" vibe 得爽"交税。自托管之后,构建分钟和执行时长都是机器的固定成本,心理负担直接清零,这是很多人搬家后"回不去"的真实原因。
回滚预案:30 分钟切回云托管
搬家最坏的情况不是"搬过去发现不好用",而是"搬过去出了线上事故、切不回去"。所以动手前先写好回滚 SOP:
- DNS 是你的总开关。搬家期间把 DNS TTL 临时调到 300 秒(5 分钟),出问题改一条 A 记录指回 Vercel,全球生效就是几分钟的事。稳定一周后再调回去。
- 数据库双写或至少保证可导出。迁移当天先做一次全量 dump 留底;如果业务不能停,考虑双写一周再切读流量。
- 云托管的项目别急着删。保留旧部署至少一个月,环境变量留档,这是你的热备。
- 演练一次。找个没人的时间,真的走一遍"改 DNS → 指回旧站 → 确认恢复",把耗时记下来。真出事时你才知道 30 分钟够不够。
什么时候该搬回来?三个信号:团队超过 5 人且没人愿意碰运维;合规要求你上 SOC2 之类的认证(自己搞比用云贵得多);业务进入快速扩张期,流量一周翻几倍——这时候"弹性"比"便宜"重要。搬家不是信仰,是算账;算不过来就搬回来,不丢人。
边界声明与延伸
本文只解决"逃到哪、怎么落地"。关于"为什么逃、什么时候逃、怎么跟云厂商谈判降本"的决策层问题,请看站内的逃生策略篇 vendor-lockin-escape-plan-guide,两篇互为姊妹,互不复述。下一步实操建议:先拿一个不重要的 side project 按 7 步走一遍,全程计时;跑顺了,再动主力项目。祝搬家顺利,账单清爽。
评论 (0)
相关文章

AI 帮你 deploy 到 xxx.vercel.app 只是借住。这篇实战指南带你走完买域名、DNS 解析、Cloudflare 上线链路、HTTPS 落地、邮箱三件套全链路——域名是你唯一真正拥有的资产。

用户的 credits 不是一个余额字段,而是一本账。这篇指南为 AI SaaS 打造复式记账式积分账本:可直接抄的不可变流水表结构、幂等键 + 行锁的并发扣减、应对 token 用量不可预测的预授权/结算两阶段、退款与过期的回写规则、三方每日对账、负余额熔断,以及防薅清单。

企业客户安全问卷 5 必答项拆解:OIDC/SAML 决策表与 SAML 启动阈值公式;org→team→member 三级数据模型与可直接抄的 Prisma schema;SP 发起的登录流程、JIT 自动建账号、域名认领、成员移除即时失效;SCIM 取舍、12 项转正验收清单与问卷应答模板;SSO 定价策略。