鼠扑 发表于 2024-9-3 22:20:09

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

前言

Vercel, Netlify 以及 Heroku都是知名的PaaS(Platform as a Service|平台即服务)服务商,利用这些平台我们可以方便快捷的进行项目部署。尤其是各家生态完善,是许多独立开发者的首选之地。
但是随之而来的就是另外的隐患了:因为各种问题导致项目利用额度超标导致的天价账单
PaaS作为服务商基本上都是属于没有访问限制的说法,用户激增、代码错误、恶意CC攻击都有大概在极短的时间内产生巨额的账单。比如
https://img-blog.csdnimg.cn/img_convert/885a390eb2ec5c13a11555365e32d340.png
该用户首次部署服务,却因为一个小小的程序错误导致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系统
https://img-blog.csdnimg.cn/img_convert/6a071fa060e7c8f8a658e6eee649f93a.png
如许docker就会默认设置利用腾讯云的内网镜像
https://img-blog.csdnimg.cn/img_convert/fe6f27c97ccda3c10fe0d5cb787ae43a.png
非常方便,海外服务器任意。
运行脚本
curl -sSL https://dokploy.com/install.sh | sh
由于是内网镜像所以拉取速度很快,一分钟左右就会出现完成提示,趁着15秒系统启动时间,我们先去打开服务器的3000端口以便后续访问。
https://img-blog.csdnimg.cn/img_convert/1c83fde310827b3895cf0be0e0518e7d.png
设置防火墙规则
https://img-blog.csdnimg.cn/img_convert/15ecec899d31f3f73724174a6016ae09.png
平台设置

这个没啥好说的,直接设置就行。首次完成后就默认是管理员了。
https://img-blog.csdnimg.cn/img_convert/9bd1daab9402f4cb410d5d5522acd198.png
进入管理面板后是如许的:
https://img-blog.csdnimg.cn/img_convert/a179289e99c778d75d88884d62ea17fc.png
这是系统监控:
https://img-blog.csdnimg.cn/img_convert/ddfcf09631fd94776ad5b562ea1d8381.png
这是Traefik:
https://img-blog.csdnimg.cn/img_convert/96802718b8b0a8fb9b38a02c2a8298fa.png
这是docker管理;
https://img-blog.csdnimg.cn/img_convert/62d2beab8ee016d7c20fd87ac8b2687d.png
图中的docker是我之前玩幻兽帕鲁安装的服务器镜像。
设置页面
https://img-blog.csdnimg.cn/img_convert/704a197d397f260c3ff3236a0056b7ce.png
设置页面其他的可以自己探索,这里简单推荐一下优先思量设置的。
Server Domain内的域名,证书申请邮箱,证书提供商这三个发起都填上。
Profile内的账户也可以思量开启2fa
https://img-blog.csdnimg.cn/img_convert/72bfdb1b43a8b99e019aa9a721c9de76.png
避免账户被盗
末了一个集群,需要的可以自己实验一下,也很简单,只需要加一个自己的registry即可。
https://img-blog.csdnimg.cn/img_convert/4c5dfa7801c6bd2d6dbdd339025f48f6.png
个人发起直接开一个自托管的。
项目创建及部署

这个也很简单。
创建项目——创建服务即可
https://img-blog.csdnimg.cn/img_convert/ebf55d675ba856c4b72c58866e0e4ad6.png
数据库支持5种:PostgreSQL、MongoDB 、MariaDB、 MySQL、 Redis
https://img-blog.csdnimg.cn/img_convert/5986d580b03488ddd3ea50b5a0e0beb8.png
Compose支持docker Compose和Stack
https://img-blog.csdnimg.cn/img_convert/34b4cddab85c7d4d429d204a952f7add.png
官方提供的模板目前只有三个:
Pocketbase 是 Firebase 的自托管更换方案,答应您构建和托管自己的后端服务。
Plausible是一个开源的、自托管的网络分析平台,可以让您跟踪网站流量和用户行为。
Calcom是Calendly的开源更换品,答应创建日程安排和预订服务。
https://img-blog.csdnimg.cn/img_convert/eea8d4e1b6ef0507bb4e5a66030bd34b.png
创建自己的第一个应用

示例:https://github.com/Dokploy/next-todo-app
https://img-blog.csdnimg.cn/img_convert/566c8695ad89d53c152fc1368a23b5f9.png
由于这是一个公开的git项目所以我们只需要在Provider选择Git即可,自己的私有项目可以设置好个人设置内的Github相关项创建APP——授权APP
https://img-blog.csdnimg.cn/img_convert/7f45f790dd240ee9101b6e67fded578f.png
设置完成后点击deploy即可
你可以进入Deployments——view查看项目部署进展
https://img-blog.csdnimg.cn/img_convert/c006dfc44ca518097366ebea7ee71717.png
https://img-blog.csdnimg.cn/img_convert/0c11389306101052026e5ef774f87871.png
项目右上角表现黄色的点表示运行中,可以用来判断是否完成
https://img-blog.csdnimg.cn/img_convert/0aef9ca6ce446c70b2cf8aa2dcdb81e2.png
项目部署完成后可以点击logs查看log输出,
想要更改项目的资源占用可以点击Advanced——Resources设置|
https://img-blog.csdnimg.cn/img_convert/39b48fc5394e955d1123512135ca854e.png
域名设置也是按照要求设置即可
https://img-blog.csdnimg.cn/img_convert/32e930d65a01f0c6b75e1d1a573885a4.png
不过由于没有对接DNF剖析商,所以我们需要自己添加剖析,证书是自动申请的。
应用部署完成后会表现:
https://img-blog.csdnimg.cn/img_convert/ae84d781df70ac670f113ca407707c7d.png
https://img-blog.csdnimg.cn/img_convert/20da24bf91dd19fc4fa65d011221ba59.png
之后直接访问前面剖析的地点即可。
https://img-blog.csdnimg.cn/img_convert/50368e62185625c2986cbede4ddf29e5.png
注意事项:
国内的服务器要注意一下应用是不是会大量拉取海外的资源。推荐是在项目中先设置好npm,pnpm,yarn之类的镜像源。如许部署会快许多。不然大概受网速影响,首次部署要耗费大量时间。
总结

如果是成熟的项目,且不对外开放大概利用人数很少的项目还是可以放在Vercel的,免费的层级已经可以或许覆盖大部分小项目了。
可以或许负担起vercel之类的月费以及超额费用的也可以继续利用,毕竟生态完善,开发起来配套办法齐全。
价格敏感型用户大概害怕天价账单大概本身就有VPS的可以思量部署一个Dokploy实验实验的。部署难度低,适配性较好。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 一键部署开源PaaS服务Dokploy,取代Vercel, Netlify 以及 Heroku