自托管服务
Dokploy/dokploy avatar
Dokploy/dokploy

Dokploy 评测:自托管 PaaS 的实用选择,但多节点依赖 Docker Swarm

Dokploy 是一个可自托管的免费 PaaS,可作为 Vercel、Netlify 和 Heroku 的开源替代品,支持部署应用与数据库、Docker Compose、自动备份和多节点扩展。

37,309 个 Star2,967 个 ForkTypeScript许可证因项目而异

秒懂

它是什么?
Dokploy 是一个免费、可自托管的 PaaS 替代品,目标对标 Vercel、Netlify 和 Heroku。它用 Docker Compose 和 Traefik 处理应用部署,但多节点能力绑定 Docker Swarm,这是它的关键边界。
适合谁用?
Dokploy 适合已经熟悉 Docker Compose 和 Traefik 的团队,他们希望在自有 VPS 上获得接近 Vercel 的部署体验,同时保留对基础设施的完全控制。不适合需要 Kubernetes 原生调度或对多节点集群有高级需求的人,因为它的多节点能力绑定 Docker Swarm,而 Swarm 在编排生态中已显老旧。
能商用吗?
请先确认。这个仓库使用的许可证不在我们自动归类的范围内,商用前请阅读仓库里的 LICENSE 文件。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题,谁该看

Dokploy 瞄准的是不想被云厂商锁定的开发者。Vercel、Netlify 和 Heroku 都提供便捷的部署体验,但代价是平台绑定和按量计费。Dokploy 把同样的抽象搬到你的 VPS 上:一条 curl 命令装好,然后通过 Web 界面部署应用、管理数据库、配置备份。它面向的是愿意自己维护服务器的人,比如独立开发者、小型团队,或者那些需要把应用部署在客户指定环境里的外包团队。它不解决运维的所有问题,服务器安全、内核升级、磁盘监控仍然是你自己的事。它的价值在于把部署这一层标准化,让你不用每次手动写 Docker Compose 文件再 ssh 上去敲命令。

核心机制:Docker Compose 与 Traefik 的组合

从 README 的功能列表看,Dokploy 的架构并不神秘。它把应用定义为 Docker Compose 项目,这是它的核心抽象。你不需要为每种语言写不同的部署脚本,Node.js、PHP、Python、Go 都被统一成容器。Traefik 作为反向代理自动接入,处理路由和负载均衡。这意味着每个应用通过域名或路径暴露时,Dokploy 会生成对应的 Traefik 配置。数据库支持 MySQL、PostgreSQL、MongoDB、MariaDB、libsql 和 Redis,备份功能可以定时把数据推到外部存储。监控是实时的,CPU、内存、存储和网络使用情况在界面上可见。这套设计的好处是透明,你看到的底层就是 Docker 和 Traefik,排障时可以沿用已有的 Docker 知识。坏处是,如果你的应用不适合容器化,或者依赖特殊网络配置,Dokploy 的抽象就会成为限制。

安装与上手:一条命令,但细节在文档里

README 给出的安装方式非常直接:在 VPS 上执行 curl -sSL https://dokploy.com/install.sh | bash。这个脚本会拉取安装程序,然后你就能访问 Web 界面。它没有列出系统要求,比如最低内存、CPU 或操作系统版本,这意味着你需要自己试错。Dokploy Cloud 是一个跳过自托管的选择,但既然你是来看自托管方案的,这条路径只是备用。安装后,部署第一个应用的流程大概是:新建应用,选择类型(应用或数据库),填写 Docker Compose 内容或选择模板。模板库里有 Plausible、Pocketbase、Calcom 这类开源项目,一键部署。CLI 和 API 是额外的管理入口,适合脚本化操作。注意,README 没有给出具体的 CLI 命令示例或 API 端点,所以实际使用时需要查阅 docs.dokploy.com。

多节点与 Docker Swarm:一个需要警惕的绑定

README 提到多节点支持,但它明确说使用 Docker Swarm 来管理集群。这是一个重要的设计决策。Docker Swarm 是 Docker 自带的编排工具,但它的生态和功能远不如 Kubernetes 丰富。如果你已经有 Kubernetes 集群,Dokploy 帮不上忙,它不会去适配 k8s。如果你从零开始,Swarm 的优点是简单,缺点是滚动更新、服务发现、存储卷等能力都比 k8s 粗糙。多服务器部署也依赖这个机制,远程管理外部服务器时,Swarm 的节点加入流程会成为前提。这意味着,如果你需要跨云厂商的混合集群,或者对网络策略有细粒度要求,Dokploy 的多节点能力可能不够用。它更适合单机或小规模集群,而不是大型分布式系统。

维护与升级成本:版本节奏快,但文档是短板

仓库的默认分支是 canary,最近发布频率很高,v0.30.2 和 v0.30.1 只隔了几个小时,v0.30.0 在四天前。这种节奏说明项目处于活跃开发期,但对你意味着升级频繁。每次升级都可能带来行为变化,尤其是配置格式或 API 接口。Dokploy 的安装脚本是远程执行的,升级方式大概率也是重新运行脚本或通过界面操作,但 README 没有说明升级细节。维护成本主要落在你身上:你需要跟踪每个版本的变更日志,测试自己的应用是否受影响。文档站 docs.dokploy.com 是主要参考,但 README 本身很简略,很多功能细节(比如备份的具体存储目标、通知的配置方式)都没写清楚。如果你习惯依赖官方文档,这里会有挫败感。

许可证与替代方案:开源但不明确

仓库信息里许可证显示 unknown,这是一个需要警惕的信号。README 没有提到许可证类型,也没有 LICENSE 文件的内容。这意味着你在采用前必须联系维护者或查看仓库的 LICENSE 文件,确认是否可以商用、修改、分发。如果许可证是 AGPL 或类似 copyleft,你的使用方式会受限。替代方案方面,Coolify 是直接竞争对手,它同样自托管、支持多服务器,但架构上更灵活,不强制绑定 Docker Swarm,也支持更广泛的部署目标。另一个方向是直接使用 Caprover,它基于 Docker Swarm 但更成熟。区别在于,Coolify 更强调应用商店和简易性,而 Dokploy 更接近传统 PaaS 的完整功能。如果你需要 Kubernetes,那就得转向 KubeSphere 或 Rancher,但那是另一个重量级选择。

编辑结论

Dokploy 适合已经熟悉 Docker Compose 和 Traefik 的团队,他们希望在自有 VPS 上获得接近 Vercel 的部署体验,同时保留对基础设施的完全控制。不适合需要 Kubernetes 原生调度或对多节点集群有高级需求的人,因为它的多节点能力绑定 Docker Swarm,而 Swarm 在编排生态中已显老旧。采用前先验证三件事:确认你的目标服务器满足安装脚本的系统要求(文档未明确列出,需自行测试);检查你计划部署的应用是否都能以 Docker Compose 表达,因为这是 Dokploy 的核心抽象;如果打算多节点,先跑通 Swarm 的初始化流程,并确认监控和备份功能在集群模式下行为符合预期。这些验证决定了 Dokploy 是顺手工具还是额外负担。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记