debian11 使用 podman 部署 n8n
- 拉取镜像
podman pull docker.n8n.io/n8nio/n8n:latest
- 创建目录和启动脚本
mkdir -p /root/n8n/
touch run.sh
run.sh
#!/bin/bash
name=n8n
data_dir=/root/n8n/data
ssl_dir=/root/n8n/ssl
cart_file=$ssl_dir/cert.pem
key_file=$ssl_dir/key.pem
if [ ! -d $data_dir ]; then
mkdir -p $data_dir
chmod 777 $data_dir
fi
if [ ! -d $ssl_dir ]; then
mkdir -p $ssl_dir
chmod 777 $ssl_dir
fi
if [ ! -f $cart_file ] || [ ! -f $key_file ]; then
echo "SSL certificate or key file not found!, start to generate self-signed certificate"
cd $ssl_dir
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout $key_file -out $cart_file -subj "/CN=localhost"
chmod 777 $cart_file $key_file
cd -
fi
podman stop $name
podman rm $name
podman run -itd \
--name n8n \
--restart always \
-p 5678:5678 \
-v /root/n8n/data:/home/node/.n8n \
-v /root/n8n/ssl:/ssl \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e TZ="Asia/Shanghai" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-e N8N_PROTOCOL=https \
-e N8N_SSL_KEY=/ssl/key.pem \
-e N8N_SSL_CERT=/ssl/cert.pem \
docker.n8n.io/n8nio/n8n:latest
-
访问n8n
打开浏览器,输入https://服务器ip:5678, 填写个人信息,注册激活。 -
查看版本
主页-> Help -> Abort n8n -
汉化
根据步骤4,找到自己的n8n版本
从github上下载对应版本的汉化包: https://github.com/other-blowsnow/n8n-i18n-chinese/releases
把汉化包放到/root/n8n目录
解压
tar -zxvf editor-ui.tar.gz
# 解压获得 dist文件夹
# 目录 /root/n8n/dist
修改run.sh
#!/bin/bash
name=n8n
data_dir=/root/n8n/data
ssl_dir=/root/n8n/ssl
cart_file=$ssl_dir/cert.pem
key_file=$ssl_dir/key.pem
if [ ! -d $data_dir ]; then
mkdir -p $data_dir
chmod 777 $data_dir
fi
if [ ! -d $ssl_dir ]; then
mkdir -p $ssl_dir
chmod 777 $ssl_dir
fi
if [ ! -f $cart_file ] || [ ! -f $key_file ]; then
echo "SSL certificate or key file not found!, start to generate self-signed certificate"
cd $ssl_dir
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout $key_file -out $cart_file -subj "/CN=localhost"
chmod 777 $cart_file $key_file
cd -
fi
podman stop $name
podman rm $name
podman run -itd \
--name n8n \
--restart always \
-p 5678:5678 \
-v /root/n8n/data:/home/node/.n8n \
-v /root/n8n/ssl:/ssl \
-v /root/n8n/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e TZ="Asia/Shanghai" \
-e N8N_DEFAULT_LOCALE=zh-CN \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-e N8N_PROTOCOL=https \
-e N8N_SSL_KEY=/ssl/key.pem \
-e N8N_SSL_CERT=/ssl/cert.pem \
docker.n8n.io/n8nio/n8n:latest
- 重新运行
run.sh
运行后,浏览器访问https://服务器ip:5678, 发现汉化完成。
PS:
- 注意!!!如果本地有其它服务启动了443端口,比如nginx,远程访问n8n时会访问到nginx上,需要关掉nginx 443或者修改成其它端口;或者选择n8n运行在服务器本地(127.0.0.1),然后用nginx等配置转发(配置比较困难)。
- 另一种启动指令,上面的指令有时后只能本地访问,需要修改N8N_HOST为 0.0.0.0
podman run -itd \
--name n8n \
--restart always \
--net host \
-v /root/n8n/data:/home/node/.n8n \
-v /root/n8n/ssl:/ssl \
-v /root/n8n/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e TZ="Asia/Shanghai" \
-e N8N_DEFAULT_LOCALE=zh-CN \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-e N8N_HOST=0.0.0.0 \
-e N8N_PORT=5678 \
-e WEBHOOK_URL=https://N8N容器所在宿主机的IP:5678 \
-e N8N_PROTOCOL=https \
-e N8N_SSL_KEY=/ssl/key.pem \
-e N8N_SSL_CERT=/ssl/cert.pem \
docker.n8n.io/n8nio/n8n:latest
参考:
[1]. n8n官方文档-docker部署
[2]. https://blog.csdn.net/Gaga246/article/details/150581506
[3]. [n8n 本地汉化部署、流式返回、cursor提示词生成n8n流程]=(https://blog.csdn.net/qq_26979493/article/details/149666638)

浙公网安备 33010602011771号