仓库里的docker部署的相关代码和代码文件我觉得太简单了,适合用来测试。但功能上还是差点意思,不少节点的使用会受到限制。所以,我自己测试调整了部署参数。
关于版本号
https://github.com/n8n-io/n8n
- Docker 方式部署
- Docker Compose 方式部署
使用 Docker Compose 部署时,在从代码仓库 git clone 并 git checkout 到目标版本后,需要对 docker-compose.yml 文件进行如下配置:
`version: ‘3.8’
services:
n8ntest:
image: n8nio/n8n:1.94.1
container_name: n8ntest
ports:
- “15678:5678”
environment: - N8N_DEFAULT_LOCALE=zh-CN
- N8N_SECURE_COOKIE=false # 免cookie安全(本地开发环境建议)
- N8N_HOST=0.0.0.0 # 允许所有ip访问(不再仅本机)
- N8N_RUNNERS_ENABLED=true # 启用工作流执行器
volumes: - ./editor-ui-dist:/usr/local/lib/node_modules/nn8n 工作流 教程8n/node_modules/n8n-editor-ui/dist
- n8n_data:/home/node/.n8n # 持久化存储,重启和升级不丢工作流
- ./data:/data # 自定义目录(部分节点可监听本地文件)
stdin_open: true
tty: true
restart: unless-stopped
volumes: # 持久化存储对应使用的docker卷
n8n_data:
name: n8n_data`
解除了官版部署方式只能本地访问的限制。
将工作流数据持久化,可以便利地进行升级,不担心已有工作流丢失。
还有高手?
如果只是为了快速体验和简单测试,上述的自定义参数已经足够应付很多情况了。这不够?还想要执行python命令?
玩过的佬友都知道,n8n上的code节点打开默认是基于js代码的,虽然可以选择python,但使用起来会发现,功能受限,无法安装第三方库。因为n8n自带的python方法是基于 Pyodide 技术,在nodejs环境中模拟了python的运行环境。别说第三方库了,原生库也是受限的,氪金也解决不了。
有什么办法能够在n8n上玩转python?
有的有的。
使用docker或者docker compose命令创建n8n环境前,先创建一个Dockerfile
FROM n8nio/n8n
RUN apk add –update python3 py3-pip
这时候n8n就有了执行python的能力
执行命令进行新镜像的构建
将这个新镜像替换掉前面的docker命令或者docker compose 文件中的image参数就可以在容器启动后的n8n中使用Execute Command节点中实现python3语句的调用
佬友们应该想到了,细化Dockerfile,在语句 RUN apk add –update python3 py3-pip语句后面添加更多的细节,使用pip install命令安装更多自己想用的pip包,那么就存在更多的可能了。
同样的道理,其他语言也应当适用。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/245400.html原文链接:https://javaforall.net
