Dokploy 是一个开源的,可以自托管的 [[PaaS]] 平台,Dokploy 可以一站式部署管理平台,简化应用程序和数据库的部署和管理。结合了 Docker 和 Traefik 的功能,为用户提供了一个经济高效的自托管平台即服务 PaaS 解决方案。
Dokploy 可以用来代替 [[Heroku]],[[Vercel]],[[Netlify]] 等平台。
之前介绍过 [[PocketBase]],[[Coolify]] 等等开源项目都可以达到类似的作用。
功能
- Dokploy 深度集成了 Docker,支持创建,部署和更新 Docker 容器。用户可以轻松地将各种类型的应用(PHP,Python,Java,Go,Ruby 等)部署到 VPS 上,并确保应用处于最新状态。
- Traefik 负载均衡,自动整合 Traefik,提供了智能 HTTP 反向代理和负载均衡器,优化了网络流量分配
- 实时监控,提供了直观的实时监控,允许用户监控 CPU,内存,存储和网络使用情况
- 数据库管理,支持多种数据库服务,MySQL,PostgreSQL,MongoDB 等,并提供自动备份功能
- 易用性,用户只需要一条命令就可以在 VPS 上安装 Dokploy,快速启动部署流程
Dokploy 是一个利用 Docker Swarm 来编排和管理容器部署的工具。使用 Docker Swarm 作为底层容器编排技术,Docker Swarm 是 Docker 原生的集群管理和编排工具。
安装
要在 VPS 上安装 Dokploy,首先需要通过 SSH 登录到服务器,然后在 root 下执行以下命令:
curl -sSL https://dokploy.com/install.sh | sh
该命令会自动安装 Dokploy 及其所需的 Docker 环境,等待执行一段时间之后,在终端中会出现 IP:3000 端口的日志,等待几分钟端口启动之后就可以直接访问 3000 端口,首次注册的用户默认就是管理员。
使用
初始化设置
安装完成之后,系统会显示一个 URL,服务器 IP:3000 ,在浏览器访问 URL,用户进入注册页面,设置邮箱和密码完成注册。
域名设置
登录后,进入 Settings 标签页,在 Server Domain 中输入已设置 A 记录的管理域名(如 web.example.com)。在 Let’s Encrypt Email 中输入邮箱地址,并选择 Let’s Encrypt 作为证书提供商,然后点击 Save。系统会自动获取 SSL 证书,之后可以通过 https://web.example.com 访问管理界面。
应用程序部署
Dokploy 支持两种主要的部署方法:直接部署应用程序和使用 Docker Compose 部署。
- 直接通过源代码,编译部署,支持 GitHub,Git 等
- 选择构建类型,支持 Docker、Nixpacks、Heroku Buildpacks 和 Paketo Buildpacks。
- 添加环境变量,部署前配置环境变量
- 监控和日志,实时监控 CPU,内存,磁盘和网络使用情况
通过 Docker Compose 部署
- 创建 Dockerfiles 和 docker-compose.yml 文件
- 生命周期管理,部署,停止,删除等
- 源代码配置,选择代码
- 监控和日志
相较于 Dokku
之前也介绍过一款使用 Go 语言实现的最小的 PaaS 项目 Dokku,开发者也是可以非常轻松地部署应用程序,Dokku 也是基于 Docker,非常轻量,可以安装在一台非常低配置的服务器中。
相较于 Dokku,Dokploy 则是提供了更有好的交互界面,并且支持 Docker Compose,还支持多节点部署。
Dokploy 的优势
- 用户界面
- Docker Compose 支持
- 多节点支持
- 用户权限管理
- 数据库支持
- 监控和日志
- 数据备份
相较于 Coolify
之前还介绍过一个叫做 Coolify 的 PaaS 应用,Coolify 同样非常的强大,相比于 Coolify,Dokploy 胜在内建的多节点部署支持,以及内建的监控。
但是 Coolify 更友好的一点是,Coolify 支持内建的应用市场,支持通过界面点击完成安装。另外 Coolify 拥有非常活跃的社区,文档相对丰富。
related
- [[Dokku]]
- [[CapRover]]
- [[Coolify]]
- [[Tsuru]]
- [[Rancher]]
- [[Porter]]
- [[PocketBase]]
- [[Dockge]]