Dokploy 一个自托管的 PaaS 平台

开源地址:https://github.com/Dokploy/dokploy

详细文档:https://docs.dokploy.com

Vercel, Netlify 以及 Heroku都是知名的PaaS(Platform as a Service|平台即服务)服务商,利用这些平台我们可以方便快捷的进行项目部署。尤其是各家生态完善,是很多独立开发者的首选之地。

如果你是一个个人开发者或者是小微外包团队,希望能够简单部署和维护外包项目,Dokploy 能够轻松帮你解决问题。

简介

Dokploy

Dokploy是一个免费的可自托管平台即服务(PaaS),简化了应用程序和数据库的部署和管理。 特点 Dokploy包括多种功能,让您的生活更轻松。

  • 应用程序: 部署任何类型的应用程序(Node.js、PHP、Python、Go、Ruby等)。
  • 数据库: 创建和管理数据库,支持 MySQL、PostgreSQL、MongoDB、MariaDB 和 Redis。。
  • 备份: 自动将数据库备份到外部存储目标。
  • Docker Compose: 原生支持Docker Compose来管理复杂应用程序。
  • 多节点: 使用docker swarm将应用程序扩展到多个节点以管理集群。
  • 模板: 一键部署开源模板(Plausible,Pocketbase,Calcom等)。
  • Traefik集成: 自动与Traefik集成进行路由和负载均衡。
  • 实时监控: 监视每个资源的CPU、内存、存储和网络使用情况。
  • Docker管理: 轻松部署和管理Docker容器.
  • CLI/API: 使用命令行管理您的应用程序和数据库.
  • 自托管: 在您的VPS上自托管 Dokploy。
  • 多服务器: 将您的应用程序远程部署和管理到外部服务器。
  • 告警: 当您的部署成功或失败时收到通知(通过 Slack、Discord、Telegram、电子邮件等)。

安装

官方一键安装脚本

curl -sSL https://dokploy.com/install.sh | sh

只需要执行这个命令,剩下的环境配置、依赖安装、服务启动全都自动搞定。支持Node.js、Python、PHP、Go等常用语言。对于常见的开源应用(比如Wordpress),更是内置了模板,直接就能用。

图片

数据库全套管理

内置了MySQL、PostgreSQL、MongoDB、Redis等主流数据库的管理功能。创建、备份、迁移这些操作全都在web界面上点点鼠标就能完成。再也不用手写备份脚本了。

图片

自动扩容

当访问量上来后,系统会自动增加服务器节点,分散负载。以前需要运维手动加机器的工作,现在都能自动完成。

图片

实时监控

CPU、内存、磁盘使用情况一目了然。出现异常还能自动报警,支持发邮件或者推送到企业微信。

图片

配置经验

官方提供的模板目前只有三个:

Pocketbase 是 Firebase 的自托管替代方案,允许您构建和托管自己的后端服务。 Plausible是一个开源的、自托管的网络分析平台,可以让您跟踪网站流量和用户行为。 Calcom是Calendly的开源替代品,允许创建日程安排和预订服务。

使用一段时间后,总结几点建议:

  1. 合理分配资源: 根据应用特点设置合适的内存和CPU限制,避免某个应用占用太多资源影响其他服务。

  2. 做好备份: 虽然系统有自动备份,但重要数据最好配置多个备份源,以防万一。

  3. 规范使用流程: 在团队中统一部署规范,比如命名规则、资源配置标准等,避免混乱。

Dokploy确实给开发部署工作带来了很大便利。它既保留了云平台的便捷性,又避免了高昂的费用支出。特别适合这些场景:

  • 个人开发者快速部署项目

  • 小型团队的应用管理

  • 初创公司搭建技术基础设施

  • 对数据安全性要求较高的团队

注意事项:

国内的服务器要注意一下应用是不是会大量拉取海外的资源。推荐是在项目中先设置好npm,pnpm,yarn之类的镜像源。这样部署会快很多。不然可能受网速影响,首次部署要耗费大量时间。

总结

如果是成熟的项目,且不对外开放或者使用人数很少的项目还是可以放在Vercel的,免费的层级已经能够覆盖大部分小项目了。

能够承担起vercel之类的月费以及超额费用的也可以继续使用,毕竟生态完善,开发起来配套设施齐全。

价格敏感型用户或者害怕天价账单或者本身就有VPS的可以考虑部署一个Dokploy尝试尝试的。部署难度低,适配性较好。