debian11 使用 podman 部署 n8n

  1. 拉取镜像
podman pull docker.n8n.io/n8nio/n8n:latest
  1. 创建目录和启动脚本
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
  1. 访问n8n
    打开浏览器,输入 https://服务器ip:5678, 填写个人信息,注册激活。

  2. 查看版本
    主页-> Help -> Abort n8n

  3. 汉化
    根据步骤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
  1. 重新运行run.sh
    运行后,浏览器访问 https://服务器ip:5678, 发现汉化完成。

PS:

  1. 注意!!!如果本地有其它服务启动了443端口,比如nginx,远程访问n8n时会访问到nginx上,需要关掉nginx 443或者修改成其它端口;或者选择n8n运行在服务器本地(127.0.0.1),然后用nginx等配置转发(配置比较困难)。
  2. 另一种启动指令,上面的指令有时后只能本地访问,需要修改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)

posted @ 2025-09-17 12:05  BrianSun  阅读(133)  评论(0)    收藏  举报