谷姐:我们都是谷歌迷
We are all Google fans

一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku-2life.top

Rate this post

前言

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

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

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

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

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

Dokploy简介

Github: https://github.com/Dokploy/dokploy/tree/canary

官网:https://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,同款服务器购买:https://curl.qcloud.com/dxJI3GDO

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

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

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

运行脚本

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

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

**配置防火墙规则**


## 平台设置

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

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

这是系统监控:

这是Traefik:

这是docker管理;

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

设置页面

设置页面其他的可以自己探索,这里简单推荐一下优先考虑设置的。
Server Domain内的域名,证书申请邮箱,证书提供商这三个建议都填上。

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

避免账户被盗

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

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

项目创建及部署

这个也很简单。

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

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

Compose支持docker Compose和Stack

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

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

创建自己的第一个应用

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

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

设置完成后点击deploy即可

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


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

项目部署完成后可以点击logs查看log输出,
想要更改项目的资源占用可以点击Advanced——Resources设置|

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

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

应用部署完成后会显示:

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

注意事项:

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

总结

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

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

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

热议
推荐楼 何教授 昨天22:09

这还需要自己的VPS?
那为什么不直接部署呢?

3楼 2life.top 昨天22:23

这还需要自己的VPS?
那为什么不直接部署呢?

结尾说了啊,适合自己有VPS的,方便CI/CD。你说wordpress之类的那只要搭建了不用提交代码更新的就明显不适合

4楼 mylove1 昨天23:12

这个管理端和项目可以部署在不同服务器上吗?都在一台服务器上和直接部署项目有啥区别

5楼 lixiaofei 昨天23:15

这个管理端和项目可以部署在不同服务器上吗?都在一台服务器上和直接部署项目有啥区别

...

区别就是如果在github上更新了代码,用这个会自动拉取更新后的代码部署。

6楼 yrj 昨天23:26

看起来不错,但好像还不太成熟

7楼 2life.top 6小时前

看起来不错,但好像还不太成熟

目前开源的基本上都不是特别成熟,但是这个应该是最简洁方便的。大型项目要是必须得serverless还是建议上大厂的。CI/CD倒是解决方案很多

8楼 yrj 6小时前

目前开源的基本上都不是特别成熟,但是这个应该是最简洁方便的。大型项目要是必须得serverless还是建议上 ...

我看他ui完全仿的vercel,用docker作为容器,但好像vercel内部不是用的docker,不过项目挺有意思。

9楼 2life.top 5小时前

我看他ui完全仿的vercel,用docker作为容器,但好像vercel内部不是用的docker,不过项目挺有意思。 ...

vercel肯定不是docker,docker其实比较笨重的。我也觉得比较方便简洁。

10楼 talleye 5小时前

vercel肯定不是docker,docker其实比较笨重的。我也觉得比较方便简洁。

podman

12楼 2life.top 5小时前

我看他们还集成了数据库服务,感觉初期没什么必要,应该先做好一件事儿。 ...

数据库必须得上啊,不然还得额外搞个数据库。不合理。这个数据库只需要能用就行其他的没什么的

13楼 zhongziso 21分钟前

mark

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

未经谷姐允许不得转载:谷姐靓号网 » 一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku-2life.top
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活