
部署一个 Web 应用,开发者今天有两条主流路线:
- PaaS 方案(Vercel / Netlify / Heroku) :体验丝滑——
git push 自动部署,证书自动续,子域名自动分。但:月租贵 + 厂商锁定 + 数据出本地 ; - 传统 VPS 方案(宝塔 / 1Panel) :便宜、自主可控。但:装环境像考古、Docker 集成弱、UI 偏运维感 。
中间缺一个东西——「Vercel 的开发体验 + VPS 的所有权」 。

这次推荐的是 Dokploy ——一个开源的自托管 PaaS:

它不是「另一个面板」——它的反向定位是「把 Vercel 的体验搬回自家 VPS」 :
- 基于 Docker + Traefik :所有应用都跑在容器里,路由 / 证书 / 负载自动管;
- 支持多语言 / 多数据库 :Node.js / Python / Go / PHP / MySQL / PostgreSQL / Mongo / Redis 一键起;
- Git 集成 :GitHub / GitLab 仓库授权,push 触发自动部署;
- 完全免费 :MIT 许可,能力对标 Vercel Pro。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
- 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
- 视频教程:https://doc.iocoder.cn/video/
不是所有项目都该上 Dokploy。先看自己在哪个象限:
| | | | |
|---|
| Vercel / Netlify | | | | 数据出境 + 厂商锁定 + 流量费贵 |
| 宝塔 / 1Panel | |
| | Docker 弱、自动化部署弱 |
| 手撸 Docker Compose | | | | |
| Dokploy(本文) | | 免费 | | |
判断很简单 :
- 国内业务 / 数据敏感:Vercel 直接排除 ,VPS 自托管方案是唯一选项;
- 月部署 < 5 个、技术栈杂:Dokploy 是当下性价比最高的方案 ;
- 已经在用宝塔且场景简单(PHP / WordPress):继续用宝塔即可 ,不必折腾;
- 只是部署一个 Spring Boot:直接 Docker Compose 也行 ,UI 不是刚需。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
- 项目地址:https://github.com/YunaiV/yudao-cloud
- 视频教程:https://doc.iocoder.cn/video/
场景 1:个人 / 小团队的 Spring Boot 项目部署
阿里云 ECS 跑 Java 应用——传统流程是:装 JDK → 装 MySQL → 装 Nginx → 配 Let's Encrypt → 写 systemd → 写 deploy.sh。第一次跑要折腾一整天 。
Dokploy 的做法 :
- Web 控制台新建项目 → 选 GitHub 仓库;
- 选「Dockerfile 部署」→ 配置环境变量;
收益 :Dockerfile 写好后剩下全在 UI 完成,第一次部署从 1 天压到 30 分钟。
场景 2:多个微服务一起部署
gateway + user-service + order-service + redis + mysql 这种 5-7 个容器的小集群——手敲 docker-compose.yml 容易乱 。
部署应用Dokploy 原生支持 Docker Compose——上传 compose 文件直接起,UI 上能看到每个容器的日志、CPU、内存。比手敲命令清晰得多 。
场景 3:数据库自动备份
最容易忘的运维任务——MySQL / PostgreSQL 自动备份到对象存储 。手撸 cron + mysqldump 写过都知道有多坑(备份失败不报警、磁盘吃满、备份还原没演练等)。
数据库部署和备份Dokploy 的备份模块:选数据库 + 选 S3 桶 + 配 Cron 表达式 → 完事。省下手撸 cron 备份脚本的时间 。
场景 4:内置监控不用单装
手撸服务器监控经常落地为「装 Prometheus + Grafana」——一套运维下来又要半天。Dokploy 内置 CPU / 内存 / 磁盘 / 网络的可视化:
服务器监控第 1 步:准备 VPS
最低配 2 核 / 2GB / 30GB ,OS 选 Ubuntu 22.04 / Debian 12(这两个支持最完善)。
第 2 步:一行命令装服务
curl -sSL https://dokploy.com/install.sh | sh
脚本会自动装 Docker、拉 Dokploy 镜像、起容器。3-5 分钟搞定 ——访问 http://:3000 进面板。
第 3 步:绑域名 + 自动证书
控制台 → Settings → Domains → 填域名 + 启用 Let's Encrypt。传统 Nginx + Certbot 配置至少 30 分钟,Dokploy 一个开关搞定 。
模板模板市场里有 Plausible(GA 替代)、PocketBase(轻量后端)、Umami(统计)、N8N(工作流自动化)等数十个一键部署的开源项目——经常用于个人博客 / 小工具集合 。
边界 1:脚本一行装容易吃掉系统配置(最常见)
curl | sh 会改 Docker daemon、装 Traefik 占 80/443 端口——别在已经在用 Nginx 的现有服务器上装 ,端口冲突直接撞车。修法 :用一台干净的 VPS 装 Dokploy,其他业务都迁过来。
边界 2:单节点容量上限要心里有数(常见)
2 核 2GB 的 VPS 同时跑 Dokploy + 5-6 个容器 + 数据库基本满载。真正的小集群跑到 4 核 8GB 才舒服 。Dokploy 也支持多节点,但配置略复杂。
边界 3:证书续期失败要监控(少见但破坏力大)
Let's Encrypt 90 天到期——Dokploy 会自动续,但 DNS 配错 / Cloudflare 阻挡 / 端口被改 都可能让续期失败。修法 :配一个外部监控(UptimeRobot / Pingdom)盯证书剩余天数 < 14 天告警。
边界 4:升级 Dokploy 偶有 break change(高级场景)
开源项目还在快速迭代——生产环境不要追新版本 。建议锁定一个稳定版本,升级前先在测试 VPS 演练 。Release Notes 里 break change 标记很清楚,对照逐项检查。
部署工具的演进不是「谁的 UI 更现代」——是「所有权 / 体验 / 成本」三者怎么平衡 。Vercel 牺牲所有权和成本换体验;宝塔牺牲体验保所有权和成本;Dokploy 想三者都要——开源 + 自托管 + Vercel 级体验 。好的部署工具不是「免费的 Vercel」,是把决策权还给开发者 。
仓库:github.com/Dokploy/dokploy
