跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[分享发现] 一键部署开源 PaaS 服务 Dokploy,代替 Vercel, Netlify 以及 Heroku


小天管理

已推荐帖子

前言

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

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

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

4c7ed6a40e4d44f9be77e3a46652cbea.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 系统 4886c30fac751b2f0d91e957170738b8.png

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

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

运行脚本

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

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

配置防火墙规则

1b58ca0ae79741ab4c6dd49a564cccb7.png

平台设置

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

f9e398307210020dd953e4c499df4247.png

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

06bb91edef428e8b6a4d3f8285e7a742.png

这是系统监控: b98dbb36a1b2b6b4a2195adba35a5e57.png

这是 Traefik: 9502cfbfe52f9c6e0c273078262504ad.png

这是 docker 管理; beed6f2f34d7f58b0eb69f5d25bca8b3.png

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

设置页面

c136925bf2f2780c3857967db00168e0.png

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

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

5ce9bac5db0440898547428f28655eb1.png

避免账户被盗

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

55b7843abf4efff7d609bff95f12648b.png

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

项目创建及部署

这个也很简单。

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

bbedbfd1504fd733b8844accff6be095.png

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

Compose 支持 docker Compose 和 Stack 74d0976f0e01dbfa31d2a147abf3053f.png

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

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

d65f15ad195589761061372398acfecc.png

创建自己的第一个应用

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

a5233fdd93b9f4b98a05e2b28dfcf84a.png

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

9eda59f86530e570892d6b59927d375b.png

设置完成后点击 deploy 即可

你可以进入 Deployments——view 查看项目部署进展 7aae43341bfc0c6a59969dc2fe95fb6a.png

7081e54373b39a28077e5018a65dee5b.png

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

279ecc02e4e1475f6af7aea451c4b5ce.png

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

域名设置也是按照要求设置即可 491fc2a108227c196d275be1b60aa318.png

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

应用部署完成后会显示:

aacba41453cf56f0607b87b3ad9d33c7.png

02a67a5aa54398a82ce59f014189ed9c.png

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

aca0aa7037043924485645fe0e2194c8.png

注意事项:

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

总结

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

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

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

意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...