⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/yikuangaoxiaomianfeidekaiyuanbushushenqikeyipingtibaotataikule/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

反向定位:把 Vercel 的体验搬回自家 VPS

部署一个 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。

横向对比:4 个部署方案怎么选

不是所有项目都该上 Dokploy。先看自己在哪个象限:

方案 形态 月成本 学习成本 致命短板
Vercel / Netlify SaaS PaaS $20+ 起 极低 数据出境 + 厂商锁定 + 流量费贵
宝塔 / 1Panel 传统面板 免费 低 Docker 弱、自动化部署弱,运维感重
手撸 Docker Compose 纯命令行 免费 高 没 UI、域名 / 证书 / 监控全要自己拼
Dokploy(本文) 自托管 PaaS 免费(VPS 钱另算) 中 单节点起步,多节点能力相对新

判断很简单:

  • 国内业务 / 数据敏感:Vercel 直接排除,VPS 自托管方案是唯一选项;
  • 月部署 < 5 个、技术栈杂:Dokploy 是当下性价比最高的方案;
  • 已经在用宝塔且场景简单(PHP / WordPress):继续用宝塔即可,不必折腾;
  • 只是部署一个 Spring Boot:直接 Docker Compose 也行,UI 不是刚需。

4 个真实使用场景

场景 1:个人 / 小团队的 Spring Boot 项目部署

阿里云 ECS 跑 Java 应用——传统流程是:装 JDK → 装 MySQL → 装 Nginx → 配 Let’s Encrypt → 写 systemd → 写 deploy.sh。第一次跑要折腾一整天。

Dokploy 的做法:

  1. Web 控制台新建项目 → 选 GitHub 仓库;
  2. 选「Dockerfile 部署」→ 配置环境变量;
  3. 点 Deploy → 看日志等绿灯。

收益: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 / 内存 / 磁盘 / 网络的可视化:

服务器监控

接入 3 步:装机 + 装服务 + 配域名

第 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://<服务器IP>:3000 进面板。

第 3 步:绑域名 + 自动证书

控制台 → Settings → Domains → 填域名 + 启用 Let’s Encrypt。传统 Nginx + Certbot 配置至少 30 分钟,Dokploy 一个开关搞定。

界面预览

模板

模板市场里有 Plausible(GA 替代)、PocketBase(轻量后端)、Umami(统计)、N8N(工作流自动化)等数十个一键部署的开源项目——经常用于个人博客 / 小工具集合。

4 个真实使用边界

边界 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

文章目录
  1. 1. 反向定位:把 Vercel 的体验搬回自家 VPS
  2. 2. 横向对比:4 个部署方案怎么选
  3. 3. 4 个真实使用场景
  4. 4. 接入 3 步:装机 + 装服务 + 配域名
  5. 5. 界面预览
  6. 6. 4 个真实使用边界
  7. 7. 最后聊两句