通过Docker在群晖NAS或VPS上搭建n8n自动化平台(小白向)🐳
00 分钟
2024-7-10
slug
n8n-deploy
category
Efficiency | 效率
tags
docker
web
automation
nas
vps
tech
status
Published
icon
summary
通过Docker在群晖NAS或VPS上搭建n8n自动化平台的步骤包括安装Docker和docker-compose,使用docker-compose部署n8n,配置数据库和数据存储目录,以及设置反向代理以实现安全的webhook连接。n8n提供了丰富的自动化模板,适合个人云服务管理,提升工作效率。
type
Post
Date
Status
Status
💡
Disclaimer: AI对本文亦有贡献 ——Midjourney贡献了本文预览图

前言 📘

笔者作为一个社畜,工作生活中离不开电脑。面对工作生活中很多机械且重复的劳动,就逐渐产生了对一定自动化手段的追求以提升效率。由于工作性质,工作资料不适宜存放于公有的云服务中,进而有了使用nas进行个人云端文档和服务管理的需求。也正基于自己手头的群晖NAS,选择了n8n这一开源解决方案。
n8n
n8n-ioUpdated Aug 30, 2023
n8n目前已经有很多一键可用的自动化模板,根据不同行业和使用场景,给到了很多用户不同的选择。更重要的是其通过节点连接的方式,可以构建成很多自定义的专属于不同用户的自动化流程、通过调用api连通各app或网页平台,进一步提高整体工作流的运行效率。
可以详询n8n官网了解目前n8n支持进行自动化的平台。
💡
市面上的自动化解决方案其实很多,但基本都是收费项目,n8n是目前最贴近笔者需求的选择,如有其他选择,请各位不吝分享

前提条件

  1. 拥有一台群晖NAS或者任何服务商的云服务器(如腾讯云、阿里云等——亦可通过railway等进行部署,但其数据不能较好的在自己掌控范围内,不推荐);
  1. 有ssh工具可以链接上述服务器或nas (如putty或finalshell(推荐)等)
  1. 最好懂一点英语——看得懂User、Password等即可;
  1. (针对NAS用户而言)已安装了frp或nginx等反向代理工具(仅用于n8n的webhook节点使用,如不使用该节点可忽略)

一、 安装docker以及docker-compose 🐳

(1) VPS安装 💽

方法1:通过宝塔面板安装(推荐) 🎉

  1. 宝塔面板官网 ——”立即免费安装” ——选择适用于自己云服务器系统的宝塔面板版本后,点击”在线安装”
notion image
notion image
  1. 以Linux系统服务器为例——输入服务器ip,账户及密码 (端口默认均为22,如有自己调整的,以自己调整后的为准) —— 点击”立即安装到服务器” (根据如图所示选择安装环境)——静待5-10分钟
notion image
notion image
  1. 安装完毕后,将会提供端口和初始账户密码。以此登录宝塔面板,并修改账户密码
  1. 进入面板后,侧边栏可以看到”Docker”选项。点击,按照提示安装docker及docker-compose。安装完成后。于ssh中输入docker --versiondocker-compose --version如返回版本号即证明安装完成
notion image

方法2:直接于ssh中通过命令安装docker

请参考如下文章进行安装:

(2) 群晖使用自带套件安装Docker

有群晖NAS的小伙伴,在群晖自带的套件中心搜索docker,点击安装即可。群晖自带套件将会安装同时安装docker以及docker-compose

2. 通过docker-compose部署n8n

强烈建议在ssh以docker-compose的方式部署项目。群晖自带的docker面板有一定用处,但在稍微熟悉docker以后就会发现通过UI配置有其限制所在——为方便后续管理以及容器升级,强烈建议通过docker-compose部署n8n项目
💡
为了方便后续n8n的使用,笔者直接参考了官方部署n8n及worker的形式(可以扩大运行自动化的规模),因此配置相比较复杂,请准备好以下几个目录:
  1. postgres的数据库目录,推荐xxx/config/n8n/postgres;
  1. n8n数据存储目录,推荐xxx/config/n8n;
  1. redis数据存储目录, 推荐xxx/config/n8n/redis;

1. 克隆n8n仓库到本地

在准备好前述目录之后,请ssh登录服务器/群晖,在适当的目录运行如下命令
notion image
💡
笔者此处在root目录运行,仅做演示不推荐。请自行cd xxx/xxx/xxx 到适当目录运行

2. 运行docker-compose开始部署

  1. 根据复制右侧内容,打开目录中的docker-compose.yml并替换;
  1. 调整新的docker-compose.yml中的目录,按照前述设置的postgres, redis以及n8n目录填写 (右侧加粗下划线处);
  1. 通过记事本或其他文本编辑工具,编辑目录中的.env文件,配置postgres数据库的用户名及密码;
  1. 在ssh中,确保自己在前述目录下,输入一串神奇代码docker-compose up -d
  1. 静待部署完毕;
  1. 部署完毕后输入服务器ip+端口5678, 即可访问n8n页面,随便输入一个邮箱即可以注册使用(本地部署,无后台,所以邮箱仅作为账户使用,符合邮箱格式即可,不会发送验证邮件) 一般格式为http://xxx.xxx.xxx.xxx:5678 请自行替换自己的ip地址
  1. 登录后点击Add Workflow即可开始你的自动化尝试
    1. notion image

3. 配置frp或nginx的反向代理(群晖NAS适用,VPS请忽略)

基于n8n的强大也包括拥有webhook节点,可以基于上游应用的相关条件达成主动触发节点或某个自动化。
但有些上游应用对webook链接的要求(点名todoist)为:(1)必须是https的安全连接;(2)不能有端口号暴露。
前者对于经常配置群晖nas的用户来说不成问题,但后者则对普通用户而言构成了一些困难——基于国内目前的网络安全监管,家庭用户是无法使用80/443端口的,因此对于正常的n8n链接来说通常都为http(s)://your-domain:5678,这对于部分上游应用是不接受的,进而无法配置webhook自动化。故而对反向代理实现80/443端口访问则对于群晖用户来说十分重要。
本文作者通过frp配置成功完成了80端口访问,详情请转至如下链接:
 
 
💡
如有任何问题,欢迎在下方留言区讨论交流
上一篇
无法获取Notion数据,请检查Notion_ID: 当前 2c7e5444-c53d-491f-93e1-f23cddd5b6af
下一篇
无法获取Notion数据,请检查Notion_ID: 当前 2c7e5444-c53d-491f-93e1-f23cddd5b6af

评论
Loading...