一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

06-26 1770阅读

前言

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

但是随之而来的就是另外的隐患了:因为各种问题导致项目使用额度超标导致的天价账单

PaaS作为服务商基本上都是属于没有访问限制的说法,用户激增、代码错误、恶意CC攻击都有可能在极短的时间内产生巨额的账单。比如

一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

该用户首次部署服务,却因为一个小小的程序错误导致6个小时内产生三千刀的账单。如果不是发现的及时,可能还会造成更大的损失。虽然经过来回的协商,最终Vercel还是免除了这个账单,但是这名用户已经决定放弃继续使用Vercel了,因为如果再来一次这种事件,很难说是否还会被免单。

一般常见的云厂商的实例只要做好服务器的安全防范措施,最大的危险也只是停机、流量超额罢了,流量方面可以通过限制访问速率等措施避免,或者监控服务器流量异常,都是很容易实现的。但是使用VPS/云服务器之类的相对于PaaS平台来说CI/CD之类的相对麻烦很多。

所以在VPS/云服务器上部署一个开源的PaaS服务相较而言就能较好的结合这两者之间的优点了。

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 (即将推出⌛) : 使用命令行管理您的应用程序和数据库.

自托管: 在您的VPS上自托管 Dokploy。

Github: Dokploy

官网:dokploy.com/

目前该项目还在快速迭代之中,基本上每周都会有一两个小版本更新

部署

要求:

服务器硬件:2C2GB起步 硬盘30GB以上

支持系统:

  • Ubuntu 24.04 LTS
  • Ubuntu 23.10
  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 18.04 LTS
  • Debian 12
  • Debian 11
  • Fedora 40
  • Centos 9
  • Centos 8

    安装会安装docker,如果服务器内原先没有docker,则会自动启动安装。由于国内docker服务的公开镜像都没有了,所以如果要在国内服务器上安装可以先自己安装docker,然后再运行安装脚本。海外服务器正常步骤即可。

    演示服务器为腾讯云的轻量服务器2C4G80GB,同款服务器购买

    如果是国内服务器请选择系统镜像时选择使用容器镜像–然后选择Debian或者Ubuntu系统

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    这样docker就会默认配置使用腾讯云的内网镜像

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    非常方便,海外服务器随便。

    运行脚本

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

    由于是内网镜像所以拉取速度很快,一分钟左右就会出现完成提示,趁着15秒系统启动时间,我们先去打开服务器的3000端口以便后续访问。

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    配置防火墙规则

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    平台设置

    这个没啥好说的,直接设置就行。首次完成后就默认是管理员了。

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    进入管理面板后是这样的:

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    这是系统监控:

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    这是Traefik:

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    这是docker管理;

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    图中的docker是我之前玩幻兽帕鲁安装的服务器镜像。

    设置页面

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    设置页面其他的可以自己探索,这里简单推荐一下优先考虑设置的。

    Server Domain内的域名,证书申请邮箱,证书提供商这三个建议都填上。

    Profile内的账户也可以考虑开启2fa

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    避免账户被盗

    最后一个集群,需要的可以自己尝试一下,也很简单,只需要加一个自己的registry即可。

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    个人建议直接开一个自托管的。

    项目创建及部署

    这个也很简单。

    创建项目——创建服务即可

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    数据库支持5种:PostgreSQL、MongoDB 、MariaDB、 MySQL、 Redis

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    Compose支持docker Compose和Stack

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

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

    Pocketbase 是 Firebase 的自托管替代方案,允许您构建和托管自己的后端服务。

    Plausible是一个开源的、自托管的网络分析平台,可以让您跟踪网站流量和用户行为。

    Calcom是Calendly的开源替代品,允许创建日程安排和预订服务。

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    创建自己的第一个应用

    示例:https://github.com/Dokploy/next-todo-app

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    由于这是一个公开的git项目所以我们只需要在Provider选择Git即可,自己的私有项目可以设置好个人设置内的Github相关项创建APP——授权APP

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    设置完成后点击deploy即可

    你可以进入Deployments——view查看项目部署进展

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    项目右上角显示黄色的点表示运行中,可以用来判断是否完成

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    项目部署完成后可以点击logs查看log输出,

    想要更改项目的资源占用可以点击Advanced——Resources设置|

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    域名设置也是按照要求设置即可

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    不过由于没有对接DNF解析商,所以我们需要自己添加解析,证书是自动申请的。

    应用部署完成后会显示:

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    之后直接访问前面解析的地址即可。

    一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

    注意事项:

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

    总结

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

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

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

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]