Dokploy自托管PaaS平台部署指南

本文最后更新于 2026年5月27日 凌晨

简介

Dokploy 是一款开源的自托管 PaaS(平台即服务),可以在自己的服务器上搭建类似 Vercel/Heroku 的部署平台。支持 Git 自动部署、Docker 应用、数据库管理,是个人开发者和小团队的理想选择。

https://github.com/dokploy/dokploy

功能概览

  • 应用程序部署:支持 Node.js、PHP、Python、Go、Ruby 等多种语言。
  • 数据库管理:支持 MySQL、PostgreSQL、MongoDB、MariaDB、Redis 等数据库。
  • Docker 管理:轻松部署和管理 Docker 容器。
  • Traefik 集成:自动与 Traefik 集成,实现路由和负载均衡。
  • 实时监控:监控 CPU、内存、存储和网络使用情况。
  • 数据库备份:支持多种存储目标,实现自动备份。

为什么选择 Dokploy

特性 说明
完全开源 MIT 协议,免费使用
自托管 数据完全掌控,无供应商锁定
简单易用 Web UI 管理,无需复杂命令
资源高效 单机即可运行,低配服务器友好
功能完整 应用、数据库、域名、SSL 一站式管理

部署指南

服务器要求

  • 内存:至少 2GB
  • 磁盘:至少 30GB

这是为了保证 Docker 在构建和运行容器时不会消耗过多资源,防止系统崩溃。

Docker 配置

确保 Docker 已安装,并修改 /etc/docker/daemon.json,以优化日志和启用实验功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{

"log-driver": "json-file",

"log-opts": {

"max-size": "20m",

"max-file": "3"

},

"experimental": true,

"data-root": "/root/docker_data"

}

安装 Dokploy

官方提供一键安装脚本:

Terminal window

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

完成后,访问 http://your-vps-ip:3000 进行初始设置。

初始设置

  1. 访问管理界面
  2. 创建管理员账号
  3. 配置服务器信息

部署应用

模板部署

官方提供各种模板:https://templates.dokploy.com/

  1. 选择合适模板
  2. 检查 docker-compose.yml 或其他配置
  3. 点击 Deploy 完成部署

域名设置通过 Traefik 自动反代,无需额外操作,只需解析到服务器即可。

Git 仓库部署

  1. 项目 → 新建应用 → Git
  2. 配置仓库地址和分支
  3. 设置构建命令和启动命令
  4. 部署

配置示例(Next.js)

1
2
3
4
5
构建命令: npm install && npm run build

启动命令: npm start

端口: 3000

Dockerfile 部署

支持自定义 Dockerfile:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FROM node:20-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

EXPOSE 3000

CMD ["npm", "start"]

Docker Compose 部署

对于复杂应用,支持 Docker Compose:

1
2
version: '3.8'services:  app:    build: .    ports:      - '3000:3000'    environment:      - DATABASE_URL=${DATABASE_URL}    depends_on:      - db  db:    image: postgres:15    environment:      - POSTGRES_PASSWORD=${DB_PASSWORD}    volumes:      - pgdata:/var/lib/postgresql/data
volumes: pgdata:

预构建镜像

直接部署 Docker Hub 镜像:

1
2
3
镜像: nginx:latest

端口: 80

数据库服务

Dokploy 内置数据库管理:

PostgreSQL

1
2
3
4
5
1. 数据库 → 新建 → PostgreSQL

2. 设置用户名、密码、数据库名

3. 创建并获取连接信息

连接字符串:

1
postgres://user:password@localhost:5432/dbname

MySQL

1
2
3
4
5
1. 数据库 → 新建 → MySQL

2. 配置参数

3. 获取连接信息

Redis

1
2
3
4
5
1. 数据库 → 新建 → Redis

2. 设置密码

3. 获取连接信息

MongoDB

1
2
3
4
5
1. 数据库 → 新建 → MongoDB

2. 配置认证

3. 获取连接 URI

域名与 SSL

配置域名

  1. 应用设置 → 域名
  2. 添加自定义域名
  3. 配置 DNS 指向服务器 IP

DNS 记录:

1
2
3
4
5
类型: A

名称: @

值: 服务器IP

自动 SSL

Dokploy 集成 Let’s Encrypt,自动申请和续期证书:

1
应用设置 → 域名 → 启用 HTTPS

通配符证书

支持申请 *.example.com 通配符证书,需要配置 DNS 验证。

安全设置

如果你不是内网,而是部署在公网vps上的。建议你设置自定义域名后关闭3000端口来保证安全. 你只需要打开80 443通过Traefik访问

1
2
docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy
docker service inspect dokploy --format '{{.Spec.EndpointSpec}}'

环境变量

应用级变量

1
2
3
4
5
6
应用设置 → 环境变量
DATABASE_URL=postgres://...

API_KEY=sk-xxxxx

NODE_ENV=production

全局变量

可在多个应用间共享:

1
设置 → 全局变量

变量引用

支持引用数据库连接信息:

1
2
3
DATABASE_URL={{postgres.url}}

REDIS_URL={{redis.url}}

持续部署

Webhook 自动部署

每个应用提供 Webhook URL:

1
应用设置 → 部署 → Webhook URL

在 GitHub 仓库设置中添加 Webhook。

分支自动部署

可配置特定分支触发部署:

1
2
3
main → 生产环境

develop → 测试环境

监控与日志

应用日志

1
应用详情 → 日志

实时查看应用输出。

资源监控

1
应用详情 → 监控

查看 CPU、内存、网络使用。

部署历史

1
应用详情 → 部署记录

支持查看历史部署和回滚。

备份

数据库备份

1
数据库 → 备份 → 创建备份

支持定时自动备份。

导出配置

1
设置 → 导出配置

备份所有应用和数据库配置。

高级配置

资源限制

为每个应用设置资源限制:

1
2
3
CPU: 1 核

内存: 512 MB

健康检查

配置健康检查确保应用可用:

1
2
3
4
5
路径: /api/health

间隔: 30 秒

超时: 10 秒

自定义启动

使用 Procfile 定义启动方式:

1
2
3
web: npm start

worker: npm run worker

总结

Dokploy 通过简单的一键安装和图形化界面,极大降低了容器部署门槛,同时集成了 Git CI/CD、数据库管理、自动备份、监控等功能,是个人开发者和小型团队部署应用的理想选择。

参考:

https://catcat.blog/dokploy-deploy

https://dokploy.com/docs

https://www.wangshengliang.cn/blog/%E6%9D%82%E8%B0%88/dokploy/


Dokploy自托管PaaS平台部署指南
https://blog.quickso.cn/2026/05/27/Dokploy自托管PaaS平台部署指南/
作者
木子欢儿
发布于
2026年5月27日
许可协议