Dokploy 托管你的全栈应用

Dokploy 托管你的全栈应用
Photo by Ian Taylor / Unsplash

我是一名开发者,平时会用到以下场景,都可以交由 Dokploy 托管:

  • 反向代理,之前用 Nginx,现在交给 Dokploy ,用 Traefik 托管
  • 常规网站静态部署,比如打包一个 React 项目部署到服务器静态目录
  • Nextjs 项目部署,之前依赖 Vercel,现在改为 Dokploy 托管
  • NestJS 后端项目托管,直接将服务 Docker 化交给 Dokploy,之前我是用 Railway 托管或者直接在服务器进行 Docker 管理,现在也交给 Dokploy,并且用 Docker 替代 PM2
  • 数据库安装与备份,如 Mysql,Postgresql,MongoDB, Redis
  • 其他: 如 Sentry 日志, Plasible 流量监控, Portainer 容器监控管理等
    Dokploy 部署及相关使用细节,后续会持续更新~,大家可以在我的 Dokploy Tag 页面看到。

Dokploy 简介

介绍: Dokploy 是一个基于 Docker 的运维应用管理面板,因为是基于 Docker 的,所以大部分应用都方便安装。
开发者可能相对熟悉的有宝塔面板,1Panel 面板等,每个都有他们的优劣势,我简单总结了一些: 宝塔、1panel、dokploy的对比[插个眼,后面慢慢补]

Dokploy 功能介绍

Dokploy 是免费开源基于容器化的运维面板,特别适合开发者和小团队:

  • 数据库: 支持 Mysql, Postgresql, Redis, Mongodb, MariaDB 等
  • Traefik File System: 基于 Traefik 的反向代理,负载均衡,动态配置,日志和监控等。
  • Monitoring: 服务器监控,如 CPU, Memory, Disk, I/O, Network
  • Remote Servers: 远程服务器管理,可以配置多台远程服务器,然后都通过 Dokploy 来管理
  • SSL 免费证书生成(基于 Let's Encrypt)
  • S3 Destinations: 支持基于 S3 协议的存储,可以用来备份数据库
  • Docker, Swarm
  • 其他

管理面板及功能列表如下图所示:

CleanShot 2025-02-24 at 21.34.06@2x.png

Dokploy 安装

直接参考 Dokploy 官方安装文档 ,我当前的服务器是 Hostinger Ubuntu 24.04。
执行下面的命令,Dokploy 需要依赖 Docker ,如果服务器没有安装 Docker,下面的命令也会自动把 Docker 环境安装到服务器。

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

上述命令实现了一键安装

CleanShot 2025-02-24 at 15.23.40@2x.png

根据命令行里面返回的地址,直接打开访问即可看到 Dokploy 入口界面,默认运行在 3000 端口。(这里注意,需要在服务器上把 3000 端口打开):

CleanShot 2025-02-24 at 15.25.03@2x.png


输入管理员的用户名和密码即可。

Dokploy 功能配置 & 使用

给部署一个 Dokploy 单独的域名访问

在 Cloudflare 里面配置一个 A 记录的域名解析, dokploy.meepo.me

CleanShot 2025-02-24 at 21.57.56@2x.png

在 Web Server 面板,将 dokploy 设置为公网自定义域名 https 访问,在 Settings -> Web Server 里填写自定义域名和 Let's Encrypt 邮箱名(随便填个自己的即可) ,点击 Save。

CleanShot 2025-02-24 at 22.07.27@2x.png

此时直接访问 https://dokploy.meepo.me 就得到了 dokploy 的管理站点,丝滑的狠。

数据库支持

原生直接支持如 PostgreSQL,Mysql,MongoDB,Redis,MariaDB 等

CleanShot 2025-02-24 at 22.08.10@2x.png

而且可以在 Template 里找到 SupaBase 的开源版本!

CleanShot 2025-02-24 at 22.06.37@2x.png

数据库安装与备份

在 Projects 里面选择 Create Service,创建 Database

CleanShot 2025-02-24 at 22.10.28@2x.png

在弹窗里填写对应的信息即可,点击 Create ,丝滑

CleanShot 2025-02-24 at 22.12.36@2x.png

创建完成

CleanShot 2025-02-24 at 22.14.09@2x.png

点击进入,可以在详情面板对数据库进行 Deploy,并且提供了非常方便的配置及密码更改。

CleanShot 2025-02-24 at 22.14.45@2x.png

Dokploy 为数据库都提供了 Backups 选项,需要在 S3 Destinations 中先设置存储位置,后面我给出 Cloudflare R2 的配置示例。

CleanShot 2025-02-24 at 22.16.07@2x.png

配置好之后再回到这个页面即可,点击 Create Backup

CleanShot 2025-02-25 at 08.48.46@2x.png

在弹框页面,填写相应的备份配置即可: 指定 S3 Destination,以及可以设置 Cron 做定时备份

CleanShot 2025-02-25 at 08.49.45@2x.png

备份之后,数据会存放在对应的 S3 的 Bucket 存储里,我是用的 Cloudflare R2,效果如图:

CleanShot 2025-02-25 at 08.51.28@2x.png

S3 Destinations 设置

添加 S3 Destinations 可以用来创建备份,支持如 AWS S3, Cloudflare R2, Wasabi, DigitalOcean Spaces 等支持 S3 协议的服务。

CleanShot 2025-02-25 at 08.40.39@2x.png


我用的 Cloudflare R2 Object Storage,创建一个 db-backup-test 的 bucket

CleanShot 2025-02-25 at 08.42.28@2x.png


填入相关的 Bucket 以及 Access Key, Secret Key 等,然后点击 Test Connect 即可测试配置是否成功。

CleanShot 2025-02-25 at 08.45.12@2x.png

点击 Create 成功创建

CleanShot 2025-02-25 at 08.47.03@2x.png

连接 Github

现在的开发方式,基本上都会配置如 Github, GitLab 的 CI/CD 工作流等,做自动拉取代码,编译,构建,测试,部署等流程。
在 Settings -> Git 选择 Github :

CleanShot 2025-02-24 at 15.32.43@2x.png

注意这里记得把 Organization 勾选上✅,这样才能把 Github 的组织里面的代码读取到,而在 Vecel 的功能里,配置 Github Organization ,就是需要付费的。


Github 允许之后,创建一个标识名称即可

CleanShot 2025-02-24 at 15.36.48@2x.png


创建完毕后,可以看到可用的 Provider 列表,而且可以添加多个

CleanShot 2025-02-24 at 15.40.00@2x.png

参考

本文受 javayhu 的影响,他最早安利用 Dokploy,并且给出了非常好的教程: 👉Dokploy的极简教程 推荐大家关注他,我从他身上学到了非常多的干货。

Read more

RAG不是万能的,附常见误解与澄清

RAG不是万能的,附常见误解与澄清

能给人理清目前 AI 在生产落地的问题,是一件难能可贵的事情,AI 在生产落地会有哪些阻碍的讲解,讲干货的真的是很少,至少我自己曾经在这个问题上困惑了很久。 因为之前我在 AI 电商团队,做具体的 AI Sass 落地的时候,团队经常会沟通做到生产级可用的 AI,需要哪些东西,大概的门槛还是了解到一些的,我的能力也顶多在应用层面去做一些工作量的定制与代码衔接,涉及到模型层面,一概歇菜,很多人估计只是想着,写一个 Prompt ,就是真正的拥抱 AI 了。 当我看到自媒体里面铺天盖地的在讲 AI 如何帮助企业提效,如果重塑行业的时候,有种很复杂的感觉,他们真的懂 AI 吗,甚至他们真的懂软件吗? 基本上现在大家接触到的方式就几种: * 割韭菜卖课,讲概念,前景,这些基本上都是拿别人的产品来给自己做嫁衣,自己顶多是个工具的使用者和营销者,比如用 Midjourney,Kimi,豆包,海螺什么的,告诉大家用了就能提效,获得流量,

Shopify 构建商城页面的几种方式

Shopify 构建商城页面的几种方式

当用户需要对 Shopify 商城页面有自定义的需求时,一般会选择: 1、直接使用官方商城的 theme 来构建,可以使用,但是免费模板较少,只有 13 个。 2、使用第三方 theme 来构建,也有很多的模板可以选择,比如 envato 上有数百个 shopify 的模板,这是个非常大的市场。 3、完全自定义开发,自由度最高 当用户对 Shopify 商城页面,有完全自定义的需求,通常是常规主题无法满足需求,推荐使用 Shopify Hydrogen 的官方方案,开发人员可以对商城进行完全的页面级别的自定义。 而对于开发人员来说,官方的 Shopify Liquid 开发起来的效率和体验,是不如 Shopify Hydrogen 来的舒服,而且使用 Shopify Hydrogen ,还可以对性能有提升,

Meepo 要找一份远程前端(全栈)开发的工作

Meepo 要找一份远程前端(全栈)开发的工作

为什么找远程岗位 我一直是比较喜欢远程合作的方式,基本上从事远程开发的团队,都是奔着做事去的,大家能筛选到一起,为一个目标而努力,是一件很难得的事情,远程协作的方式,在自由度和产出之间能保持非常好的平衡,没有必要在通勤以及办公室的无效沟通上浪费太多的时间。 技术特点如何 前端: React + TypeScript 生态体系,常规的网页开发,浏览器插件,Electron 客户端开发都 OK,对各种前端技术方案有一定的沉淀和实践。 后端: Nextjs + Nestjs 开发全栈站点及后端 API 服务 个人特点 即插即用,对于大多数的前端场景和技术方案,都有所涉及。 多年的开发经验,对企业自有产品开发,大客户定制,以及独立开发,有一定的观察和沉淀。 拥抱 AI,对当下比较热门的 AI 技术有一定的了解和沉淀。 喜欢分享和交流,对技术和业务,以及营销都感兴趣。 之前接触的一些业务形态 公司层面: 主要是国内客服领域,涉及到全流程客服,IM,音视频等

从事 SEO 12 年的大佬总结的要点

从事 SEO 12 年的大佬总结的要点

从事 SEO 12 年后,以下是我能想到的所有 SEO 技巧: 1. 在 H1、H2 和 URL 部分中使用主要关键词。 2. 停止追逐虚荣指标。流量固然重要,但转化率才是最重要的。 3. 内部链接可以将“几乎完成”的页面转变为表现最佳的页面。 4. 定期检查你的网站是否有坏链接,这是一个简单的 SEO 胜利。 5. Google Search Console 是您最好的朋友,使用它来重新优化排名在第 3-7 位的页面。 6. 90% 的反向链接应来自相关的高权威网站。 7. 速度决定一切——或许应该说,速度不足会扼杀一切。确保加载时间在 2 秒以内。 8. 持续更新内容将帮助你的页面保持更高的排名。 9. 使用 NLP