必要的环境准备

更新Ubuntu的库版本

sudo apt update
sudo apt upgrade -y

安装Node.js和npm:n8n需要Node.js环境来运行。你可以通过以下命令安装Node.js和npm:

sudo apt install curl
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs

验证node和npm是否安装成功

node -v
npm -v

安装Docker和Docker Compose

sudo apt install docker.io
sudo apt install docker-compose

验证Docker和Docker Compose是否安装成功:

docker --version
docker-compose --version

部署n8n

在根目录下新建 n8n 目录并且进入到目录

mkdir ~/n8n
cd ~/n8n

在 ~/n8n 目录下创建 docker-compose.yml

touch docker-compose.yml

将下面的内容添加到创建的 docker-compose.yml 中

vim docker-compose.yml
version: '3.8'
services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"  # Web 界面端口
    volumes:
      - n8n_data:/home/node/.n8n  # 持久化数据
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true  # 启用基础认证
      - N8N_BASIC_AUTH_USER=admin   # 登录用户名
      - N8N_BASIC_AUTH_PASSWORD=password123  # 登录密码
      # - TZ=Asia/Shanghai  # 可选时区设置
      # - N8N_ENCRYPTION_KEY=your_secure_key  # 强烈建议添加加密密钥
    networks:
      - n8n_network

volumes:
  n8n_data:  # 命名卷持久化数据

networks:
  n8n_network:

启动n8n:在 ~/n8n 目录下运行以下命令启动n8n:

docker-compose up -d

如果你运行上面的命令出现如下图的报错
在这里插入图片描述
需要更新 docker 的镜像源为国内的源即可,如下操作

配置 docker 的国内镜像源

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://dockerproxy.cn",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://mirror.baidubce.com"
  ]
}
EOF

然后重启 docker 服务

sudo systemctl restart docker

下面是执行 docker-compose up -d 成功的截图
在这里插入图片描述
使用 curl localhost:5678,显示下图证明启动成功
在这里插入图片描述

配置 https 解决访问出现如下页面的问题

在这里插入图片描述

下载安装 nginx

sudo apt install nginx

打开 nginx 配置文件 添加下面的内容

vim /etc/nginx/nginx.conf

添加如下内容

 server {
       listen 5678;
       server_name http://xxx.xxx.xxx/; # 自己的服务器ip地址或者购买的域名

       location / {
            proxy_pass http://localhost:5678;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
       }
}

重启 nginx

nginx -t # 检查 nginx 配置文件是否有错误

显示下图即可证明 nginx 配置文件修改无异常
在这里插入图片描述

nginx -s reload

配置免费的 https 证书可以使用我写的下面的这篇文章

使用Let‘s Encrypt配置nginx免费的Https

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐