Docker部署n8n 安装

  • n8n是一款开源、可视化的低代码工作流自动化工具。它的核心价值在于只需通过简单的拖拽操作,将不同应用程序、服务和API连接起来,实现重复性任务的自动化
  • 操作系统:win11
  • 如何安装Docker:https://wananq.com/docker_desktop-installation

安装步骤

官方链接:https://n8n.io/

官方说明:https://docs.n8n.io/hosting/installation/docker/

在Docker 中创建一个容器(Volumes),容器名:n8n_data

添加镜像(Images),搜索n8n(这里需要魔法上网),选择排行第一的“n8nio/n8n”,点击Pull下载镜像

安装成功后,第一次打开需要设置n8n,如下👇

在Docker中创建n8n新容器环境时推荐在某盘目录下新建一个存放n8n数据库的文件夹,比如E:\n8n_data,并且在文件夹中新建一个docker-compose.yml,创建后用txt打开并写入以下代码后保存为.yml格式:(这套代码包含容器环境的设置以及ffmpeg的环境设置)

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    user: root
    volumes:
      - ./:/home/node/.n8n
    environment:
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai
      - N8N_LOG_LEVEL=info
      # 关键:强制指定数据存放位置
      - N8N_USER_FOLDER=/home/node/.n8n
    entrypoint: /bin/sh -c "apk add --no-cache ffmpeg && n8n"

下一步是在Docker里设置存放n8n所有数据的路径可被写入,如下图👇

设置数据文件夹权限

E:\n8n_data这个文件夹设置权限:鼠标右键→属性→只读取消勾选,安全→编辑→完全控制勾选允许

在数据文件夹中安装新容器

接着在这个文件夹目录地址处“E:\n8n_data”删除改“cmd”后回车进入终端后输入:

docker-compose up -d

这样就在新容器的所有数据就保存在这个文件夹中,以后修改或备份会方便很多

设置完后打开地址会出现:”Editor is now accessible via: http://localhost:5678⁠” 表示本地n8n已部署成功,点击地址链接直接跳转,出现需要登记信息界面时,填写正确的邮箱后接收免费的激活码,之后登入邮箱查看邮件激活

验证E:\n8n_data是否为数据文件夹

此时E:\n8n_data文件夹下就能看到“.cache文件夹”+“.n8n文件夹”+docker-compose.yml这三个文件:

1 .n8n 文件夹:这是 n8n 的核心数据目录。你的 database.sqlite、凭据和所有工作流都在这个文件夹里面。

2 .cache 文件夹:这是 Docker 运行过程中产生的缓存。

3 docker-compose.yml:你的配置文件。

验证 FFmpeg 是否装好

因为我们在 .yml 里设置了自动安装,请检查是否成功:

  • 打开网页 http://localhost:5678
  • 在左侧菜单找 Terminal(或者新建一个 Execute Command 节点)。
  • 输入命令:ffmpeg -version
  • 如果返回了版本信息,说明以后你的视频转音频任务再也不会报维度错误了。

n8n在Docker容器里的写入/读取本地文件的映射关系对照表:

节点名称容器内填写的路径 (必须以 /home/node/.n8n/ 开头)对应 Windows 物理位置
读取视频/home/node/.n8n/write_video/*.mp4E:\n8n_data\write_video\*.mp4
写入视频/home/node/.n8n/write_video/video_input.mp4E:\n8n_data\write_video\video_input.mp4
ffmpeg 输入/home/node/.n8n/write_video/video_input.mp4(同上)
ffmpeg 输出/home/node/.n8n/write_audio/audio_output.mp3E:\n8n_data\write_audio\audio_output.mp3
读取音频/home/node/.n8n/write_audio/audio_output.mp3(同上)