5分钟搞定!最全Dokploy部署n8n教程
最近n8n太火了,官方的次数有限,很多人有自己部署的需求。但常规的部署方案总是耗时耗力,拖慢整个开发节奏。
今天我分享一个我自己实践总结的Dokploy部署n8n的超详细教程,帮助你在短短几分钟内完成服务搭建!

1、点击create service,选择template

2、找到n8n,点击create

3、在刚创建的n8n里面,点击Deploy

4、配置自定义域名
选择Domains,配置自己的域名

在cloudflare DNS里面配置二级域名,比如我的就是n8n.你的域名。

然后在dokploy的新增Domain里面,添加上刚才配置的二级域名。

修改环境变量,将dokploy分配的N8N_HOST改成自己刚才配置的二级域名。

在Dokploy里面Reload后,用二级域名登录,发现可以正常登录了!

5、增加登录鉴权
现在有个问题,就是任何人只要知道你部署的n8n域名,就可以登录使用,所以要配置环境变量,设置用户名和密码。
在 Environment 加:
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=<用户名>
N8N_BASIC_AUTH_PASSWORD=<强密码>
(改完点 Reload 让容器重启)

6、将n8n升级到最新版本
Provider 里的 compose 还是 n8nio/n8n:1.83.2,已落后多个安全 & bugfix 版本。点页面右上 Edit(或 Raw 区直接改)
image: n8nio/n8n:latest -- 或锁定到 1.98.1
按
Deploy/Reload,滚动升级生效

清除浏览器缓存,发现已经是最新版本的n8n

7、Dokploy备份,用 Dokploy 内建 Backups
在 Backups 里设每日快照(S3/R2)
前提: 你的 Dokploy 版本已支持 Volume Snapshot(新版本默认支持;旧版只备份数据库文件路径)。
全局设置 S3 Destination(如图,我是用的 cloudflare r2)
Dokploy 左侧 Settings → Destinations → Add
选 S3 Compatible(R2、Wasabi、Backblaze 都行)
填 AccessKey / Secret / Bucket / Region → create

8、脚本备份n8n到cloudflare r2
下面是一套 “复制-粘贴即可落地” 的 脚本式备份方案
目标:把本机 n8n 数据目录 /var/lib/dokploy/n8n 每天 02 : 00 打包推送到 Cloudflare R2,并自动保留最近 7 份。
| 假设 | 值 |
|---|---|
| n8n 数据目录 | /var/lib/dokploy/n8n(Host-Path 挂载) |
| R2 目标桶 | dokploy-backups |
| 服务器系统 | 通用 Linux(Ubuntu / Debian / CentOS 均可) |
| dokploy 用户 | root (如果你用普通用户,路径改成 ~ 并把 sudo 加到相应命令前) |
如未改挂载,请先把 compose 里卷行设为
/var/lib/dokploy/n8n:/home/node/.n8n并
Deploy重新启动 n8n。
配置 rclone 连接 Cloudflare R2
# ① 安装 rclone
curl <https://rclone.org/install.sh> | sudo bash # 官方安装脚本
# ② 交互式配置 remote,名字用 r2
rclone config
# n → New remote
# name> r2
# Storage> s3
# S3 provider> Cloudflare
# env_auth> n
# access_key_id> <你的 Access Key ID>
# secret_access_key> <你的 Secret Access Key>
# region> auto
# endpoint> https://<ACCOUNT_ID>.r2.cloudflarestorage.com
# location_constraint> auto
# acl> private
# advanced config? n
# Is this OK? y
# q → quit
验证连通:
rclone lsd r2:dokploy-backups # 正常会列出桶 (空也没关系)
新建备份脚本
sudo nano /usr/local/bin/backup-n8n.sh
粘贴下列内容(确认 SRC 与你的实际路径一致):
#!/usr/bin/env bash
set -e
DATE=$(date +%F-%H%M)
SRC="/var/lib/dokploy/n8n" # 本地数据目录
DST="/tmp/n8n_${DATE}.tgz" # 临时压缩包
REMOTE="r2:dokploy-backups" # R2 目标桶
# 1) 打包
tar -czf "${DST}" -C "${SRC}" .
# 2) 上传
rclone copy "${DST}" "${REMOTE}"
# 3) 本地与云端都仅保留最近 7 份
find /tmp -name 'n8n_*.tgz' -mtime +7 -delete
rclone --min-age 7d delete "${REMOTE}"
echo "[$(date)] n8n backup success: ${DST}" >> /var/log/n8n_backup.log
保存后赋予可执行权限:
sudo chmod +x /usr/local/bin/backup-n8n.sh
手动测试脚本
/usr/local/bin/backup-n8n.sh
预期输出:
... n8n backup success: /tmp/n8n_2025-07-08-1530.tgz
登录 Cloudflare → R2 → dokploy-backups 应看到上传的 n8n_2025-07-08-1530.tgz。
设置 cron 定时任务
sudo crontab -e
在文件末尾追加:
0 2 * * * /usr/local/bin/backup-n8n.sh
含义:每天 02:00 执行脚本。
日志输出已写入
/var/log/n8n_backup.log。
保存退出;可用 sudo systemctl restart cron(或相应守护进程)确保生效。
恢复 数据流程(演练建议)
# ① 取最新备份
rclone copy r2:dokploy-backups/n8n_2025-07-08-1530.tgz /tmp/
# ② 停 n8n 容器
dokploy stop n8n # 或 docker compose stop n8n
# ③ 清空旧目录(或备份到别处)
sudo rm -rf /var/lib/dokploy/n8n/*
sudo tar -xzf /tmp/n8n_2025-07-08-1530.tgz -C /var/lib/dokploy/n8n
# ④ 重启 n8n
dokploy start n8n # 或 docker compose up -d n8n
浏览器刷新;工作流、Credentials 应全部恢复。
命名卷版本脚本(如果你没改 Host-Path)
把第 3 步脚本中 SRC=... 替换为动态查找卷路径:
SRC=$(docker volume inspect n8n_data -f '{{ .Mountpoint }}')
其余逻辑相同。记得把 cron 也指向这个脚本。
5分钟搞定!最全Dokploy部署n8n教程的更多相关文章
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
- 一分钟搞定AlloyTouch图片轮播
一分钟搞定AlloyTouch图片轮播 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹.除了一般的竖向滚动,A ...
- 五分钟搞定Go.js
五分钟搞定Go.js 1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...
- Spring Boot 返回 XML 数据,一分钟搞定!
Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定! ...
- zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
- zookeeper核心-zab协议-《每日五分钟搞定大数据》
上篇文章<paxos与一致性>说到zab是在paxos的基础上做了重要的改造,解决了一系列的问题,这一篇我们就来说下这个zab. zab协议的全称是ZooKeeper Atomic Bro ...
- windows+mysql集群搭建-三分钟搞定集群
注:本文来源: 陈晓婵 < windows+mysql集群搭建-三分钟搞定集群 > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...
- 十分钟搞定pandas内容
目录 十分钟搞定pandas 一.创建对象 二.查看数据 三.选择器 十二.导入和保存数据 参考:http://pandas.pydata.org/pandas-docs/stable/whatsne ...
- HDFS-异常大全-《每日五分钟搞定大数据》
点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...
- 转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)
原文:30分钟搞定后台登录界面(103个后台PSD源文件.素材网站) 目录 一.界面预览 二.PSD源文件预览 三.工具分享 四.资源说明 五.素材下载网站 六.下载 去年八月时要做一个OA系统为 ...
随机推荐
- 史上最全EffectiveJava总结(一)
创建和销毁对象 1.静态工厂方法代替构造器 优点 静态工厂方法有名称,能确切地描述正被返回的对象. 不必每次调用都创建一个新的对象. 可以返回原返回类型的任何子类对象. 创建参数化类型实例时更加简洁, ...
- 多态的转型和案例--java进阶day02
1.多态的转型 1.向上转型 我们之前学的多态创建对象,使用的都是向上转型,父类引用指向子类(赋值方式则是从子到父),f拿到子类的地址,就能访问子类的堆内存 2.向下转型 和向上转型相反,子类引用指向 ...
- api使用流程、Scanner键盘录入字符串
1.api介绍 2.api使用流程 API帮助文档的使用流程 在索引位置搜索自己要查看的类 看包 目的: 是不是java.lang包(核心包), 不需要编写导包代码(import) - 不是java. ...
- Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!
近期,Apache DolphinScheduler进行了版本更新,发布了3.3.0 alpha版本.Apache DolphinScheduler 3.3.0 alpha版本在任务管理.容错能力.扩 ...
- DAY1--ROS基本认知
1.ROS基本框架 ROS架构如下图所示,可以将其分为三个层次:OS层.中间层和应用层. 1.1 应用层 应用层是用户直接交互的部分,包含以下核心组件: Master: ROS的核心协调者,负责节点( ...
- 从零开始构建智能聊天机器人:Rasa与ChatGPT API实战教程
引言:AI对话系统的时代机遇 在数字化转型浪潮中,聊天机器人已成为连接用户与服务的关键纽带.无论是客服系统中的7×24小时即时响应,还是智能家居中的语音交互,聊天机器人正在重塑人机交互方式.本文将通过 ...
- 使用Python可视化潮汐力
引言 潮汐力,简单来说,就是天体间由于引力差异而产生的力量.这种力在地球上最显著的表现就是潮汐现象,即海水的涨落.潮汐力是由月球和太阳的引力作用引起的,它对地球的影响非常深远,除了海洋潮汐外,还能影响 ...
- 使用Python建模量子隧穿
引言 量子隧穿是量子力学中的一个非常有趣且令人神往的现象.在经典物理学中,我们通常认为粒子必须克服一个势垒才能通过它.但是,在量子力学中,粒子有时可以"穿越"一个势垒,即使它的能量 ...
- Eclipse 安装Server-Apache Tomcat 选择(Tomcat 9.0选项)
1.打开组件安装 Eclipse→Help→Install New Software 2.输入当前eclipse对应版本(例如:2022-06),选择提示的官方路径 3.选择最底下的Web, XML, ...
- 康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用
随着自动驾驶技术的发展,车辆的智能化程度不断提高,这体现了车辆感知,决策以及执行的能力.在算法开发和迭代过程中,提高测试和开发效率,关键在于多传感器数据的高质量采集,确保数据的同步性.完整性和一致性. ...