站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!

AI自動化作業就選 n8n 吧。在過去幾個月中,它逐漸得到普及。
那麼 n8n 一般是要付費的,但你知道有一種方法可以(合法地)免費使用它嗎?

我身邊看到許多人在不知道的情況下使用它,因此我決定將具體的步驟整理成文章發佈。

n8n 是一個可以輕鬆構建 AI 工作流程的方便工具,即使沒有程式設計知識,也可以構建工作流程進行業務自動化,實在是個非常便利的工具。

使用雲端版 n8n,每月的費用約為 4,000 日圓,讓許多人認為使用它需要一些勇氣,但其實在本地使用可以完全免費執行。

此外,雲端版中無法使用的一些節點在本地是可以使用的,因此如果是個人用途,您絕對應該使用本地安裝的方式。

如果您不知如何在本地使用或想了解具體的啟動方法,我已經將設置方法以實作形式整理了一下,希望您能挑戰看看。

目標讀者

  • 想免費使用 n8n 的人
  • 有興趣業務自動化的人
  • 對 AI 工作流程感興趣的人

目錄

1|完全免費使用 n8n
2|適合想使用 npm 的人設置
3|使用 Docker 的範例
4|附註:關於設置與持久化

在 X 平台上,我們每天發信這樣的影片和與 AI 有關的資訊,希望您能關注或者按讚來支持我們,這將激勵我們繼續努力。
我們分享使用視頻 AI 和 n8n 進行全自動視頻編輯的信息,關注後能掌握如何使用和前沿案例。

現在開始逐步介紹。

1|完全免費使用 n8n

n8n 是一個可以直觀地構建 AI 工作流程的服務。類似的工具有 Dify。n8n 與 Dify 的主要區別在於,n8n 更加專注於自動化,而 Dify 則以對話型(如 ChatBot)為中心。

使用 n8n 的方式大致有三種,因此我在下面介紹其類型及簡要特徵:

  • npm 方式
    • 通過 npx n8n 可以立即執行
    • 需要 Node.js 20.19〜24.x(截至 2025 年 8 月)
    • 可以直接調用本地的 ffmpeg 等命令
  • Docker 方式
    • 可以隔離依賴關係並提高可重現性
    • 如果在官方映像擴展的 Dockerfile 中放入 ffmpeg 和字型,則可以從 Execute Command 節點執行
  • Cloud 方式
    • Execute CommandRead/Write Files from Diskn8n Cloud 中無法提供
    • 如果想使用 ffmpeg 等,建議選擇本地版
    • 每月需要約 4,000 日圓的費用

這次,我將具體解釋如何使用 npm 方式和 Docker 方式在本地安裝並免費使用 n8n。各自的 npm 版和 Docker 版都有解釋,因此有興趣或需要使用的人可以隨意閱讀。


2|適合想使用 npm 的人設置

2.1 確認必要條件

請先進行 Node 環境的設置及 n8n 功能確認。

  • 執行需要 Node.js 20.19〜24.x。
node -v
npm -v

2.2 無需安裝即可執行的方法

即使不直接安裝 n8n,也可以使用 npx 啟動。不過如果每次使用,建議還是在全局安裝會比較好。

npx n8n

打開瀏覽器並輸入 http://localhost:5678,如果成功顯示 n8n 就表示成功。

首次啟動時會出現註冊介面,註冊後登錄即可完成。

▼ 附註:

  • 首次啟動時需要在註冊介面中設置電子郵件和密碼。

2.3 在本地全局安裝 n8n

通過在本地安裝 n8n,可以在不需要每次都執行 npx 命令的情況下啟動它。

npm install -g n8n
n8n       # 或者 n8n start

打開 http://localhost:5678,應該會顯示相同的畫面。

更新時可以執行 npm update -g n8n

2.4 在 npm 版中使用 ffmpeg

在此次實作中,我們將使用 ffmpeg 創建視頻,因此事先需要在電腦環境中安裝 ffmpeg。如果尚未安裝,請根據官方的步驟進行安裝。

  • 首先,在主機操作系統中安裝並確認 ffmpeg
    • 安裝來源的指引(官方):

安裝完畢後,請在終端機中執行以下命令確認是否運作正常:

ffmpeg -version

2.5 實際在 n8n 上運行工作流程

走到這一步,實際上只需要啟動 n8n 進行工作流程的執行確認。

首先,創建一個新項目並準備一個無任何顯示的工作流程畫面。

然後選擇導入 → 從 JSON 文件導入,導入下面的工作流程 JSON 文件。

可以從這篇文章中複製文件 → 直接將此文件導入即可。

<details><summary>這裡請複製:</summary>

{
  "name": "【mac】n8n設置教程",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "id": "6dac773c-c31d-43cf-8eb5-dcb1fa656c0c",
      "name": "執行開始"
    },
    {
      "parameters": {
        "command": "mkdir -p \"$HOME/n8n-work\" && ffmpeg -y -f lavfi -i \"color=c=#0044aa:s=1280x720:d=5\" -vf \"drawtext=text='n8n + ffmpeg (macOS)':fontsize=64:fontcolor=white:x=(w-text_w)/2:y=(h/2)-70,drawtext=text='本地執行OK':fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h/2)+10\" -pix_fmt yuv420p -movflags +faststart \"$HOME/n8n-work/output.mp4\"\n",
      },
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [
        208,
        0
      ],
      "id": "a32ecbd0-2bf4-49db-812b-84c286fcc4ab",
      "name": "視頻渲染命令"
    },
    {
      "parameters": {
        "fileSelector": "={{ $env.HOME }}/n8n-work/output.mp4",
        "options": {}
      },
      "type": "n8n-nodes-base.readWriteFile",
      "typeVersion": 1,
      "position": [
        416,
        0
      ],
      "id": "33a1c531-aff5-44fe-bd34-8c784fd5dbca",
      "name": "視頻文件確認"
    }
  ],
  "pinData": {},
  "connections": {
    "執行開始": {
      "main": [
        [
          {
            "node": "視頻渲染命令",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "視頻渲染命令": {
      "main": [
        [
          {
            "node": "視頻文件確認",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "efdb46cb-6db1-4227-a0b2-02a73fdb5c56",
  "meta": {
    "instanceId": "a69be3ce253ea13b7eda85dc3f6912cfd85043fac5ed34f7b32921ae50f0bb7a"
  },
  "id": "zKM59yuqoR0Mgzk5",
  "tags": []
}

成功匯入上面的 JSON 文件後,應該會顯示出下圖所示的工作流程。

按下執行按鈕後,會生成一個 5 秒的視頻,這是一個簡單的工作流程。

為了幫助第一次使用 n8n 的人,接下來將解釋出現的各種節點。熟悉的朋友可以選擇跳過!

  1. Manual Trigger:執行開始按鈕
  2. Set 節點:指定執行環境等初始設置。包含渲染視頻時的輸出位置等目錄信息。
  3. Execute Command:可以輸入可在終端等中執行的命令。這裡記載了創建視頻的 ffmpeg 命令。

▼ 實際的 ffmpeg 命令

ffmpeg -y -f lavfi -i "color=c=#0044aa:s=1280x720:d=5" \
  -vf "drawtext=text='n8n + ffmpeg (npm)':fontsize=64:fontcolor=white:x=(w-text_w)/2:y=(h/2)-70,\
  drawtext=text='本地執行・運行確認OK':fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h/2)+10" \
  -pix_fmt yuv420p "C:/n8n-work/output.mp4"

執行時的注意事項:

  • Windows 的範例需要事先建立 C:\n8n-work
  • macOS/Linux 可以替換成 ~/n8n-work/output_npm.mp4
  • 附註:
    • drawtext 的字型解決會因環境不同而異,若顯示不正常可明示字型檔案(例:Windows C:\Windows\Fonts\arial.ttf,Linux /usr/share/fonts/...

▼ 運行確認:

  • 按下 Execute 進行執行 → 如果在指定路徑上輸出 5 秒的影片則成功!

至此,npm 方式的 n8n 設置及運行確認完成。接下來將講解使用 Docker 的本地搭建方法。

3|使用 Docker 的範例

官方似乎推薦這種方法。

建立 Dockerfile,並使用 Docker Compose 進行持久化設計。

在此次的解說文章中,以進行視頻渲染的工作流程為例,因此需要先在擴展的 Dockerfile 中放入 Execute Command 需要用到的 ffmpeg 和字型。

下面將包括如何執行這個步驟。

3.1 事前準備

  • 要安裝 Docker Desktop(Win/Mac/Linux)或 Linux 上的 Docker Engine + Docker Compose
    • 如果還沒有安裝 Docker,可以從官方網站下載,或者如果想快速確認,也可以考慮使用 npm 的方法。

在您喜歡的目錄下創建兩個目錄。我是放在用桌面目錄下。

n8n-data 中保存 n8n 的內部數據。

n8n-work 中保存實際工作流程中使用的文件,這次的實作假設將存放創建的視頻文件等。

mkdir -p "$HOME/Desktop/n8n-data" "$HOME/Desktop/n8n-work"

接下來啟動 Docker。這樣會掛載桌面文件夾。

docker run -d --name n8n -p 5678:5678 -v "$HOME/Desktop/n8n-data:/home/node/.n8n" -v "$HOME/Desktop/n8n-work:/files" docker.n8n.io/n8nio/n8n

現在進行實際的運作確認。如果成功,瀏覽器上應該會顯示會員註冊的畫面。

open http://localhost:5678
docker ps
docker logs -f n8n

基本的運作確認完成後,可以通過以下命令暫時關閉 n8n。

docker stop n8n
docker start n8n
docker rm -f n8n

接下來,我們將完成實際能夠運行 ffmpeg 等命令的 n8n 在 Docker 中的設置。

準備一個不同的目錄。以下命令將在桌面中創建一個新目錄。

mkdir -p "$HOME/Desktop/n8n-docker-ffmpeg/n8n-data" "$HOME/Desktop/n8n-docker-ffmpeg/work"
cd "$HOME/Desktop/n8n-docker-ffmpeg"

然後,準備 Dockerfile。這次我們將 Alplne 的軟件包中安裝 ffmpeg、fontconfig、DejaVu、Noto CJK。

準備 Dockerfile,並將以下代碼輸入。

FROM docker.n8n.io/n8nio/n8n:latest
USER root
RUN apk add --no-cache \
    ffmpeg \
    fontconfig \
    ttf-dejavu \
    font-noto-cjk \
  && fc-cache -f
USER node

接著,再創建 compose.yaml。

services:
  n8n:
    build: .
    image: n8n-ffmpeg:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Tokyo
      - TZ=Asia/Tokyo
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - ./n8n-data:/home/node/.n8n
      - ./work:/files

最終的目錄結構應該如下所示。

n8n-docker-ffmpeg/
├── Dockerfile
├── compose.yaml
├── n8n-data/
│   └── .keep
└── work/
    └── .keep

在該目錄中使用以下命令來執行構建和啟動。
※ 基本上在有 compose.yaml 的層級執行。

cd "$HOME/Desktop/n8n-docker-ffmpeg"
docker compose build
docker compose up -d

執行一段時間後,若執行完成後可以打開畫面確認。

open http://localhost:5678

若打開正常的話,如同 npm 版本,則可以導入工作流程 JSON 進行執行確認。

3.5 使用 Docker 啟動並執行 n8n

幾乎與 npm 執行的過程相同,我們將使用 Docker 實際啟動 n8n 並在本地完成執行。

請注意,ffmpeg 的命令與 npm 版本稍有不同。(雖然這個 json 文件也是可以在 npm 版本中執行,但因為字型問題可能會出現一些文字錯誤)

我將附上 Docker 版的工作流程文件,請複製文件並導入到 n8n 項目中。

<details><summary>請從這裡複製:</summary>

{
  "name": "My workflow",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "id": "94724da7-806c-4f7a-ab36-db28e78775bf",
      "name": "執行開始"
    },
    {
      "parameters": {
        "command": "ffmpeg -y -f lavfi -i \"color=c=#0044aa:s=1280x720:d=5\" -vf \"drawtext=fontfile=/usr/share/fonts/noto/NotoSansCJK-Regular.ttc:text='n8n + ffmpeg (Docker)':fontsize=64:fontcolor=white:x=(w-text_w)/2:y=(h/2)-70,drawtext=fontfile=/usr/share/fonts/noto/NotoSansCJK-Regular.ttc:text='日本語OK':fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h/2)+10\" -pix_fmt yuv420p -movflags +faststart /home/node/n8n-work/output.mp4\n",
      },
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [
        208,
        0
      ],
      "id": "03fb0858-d7b6-4125-99f0-a746140b2bad",
      "name": "視頻渲染命令"
    },
    {
      "parameters": {
        "fileSelector": "={{ $env.HOME }}/n8n-work/output.mp4",
        "options": {}
      },
      "type": "n8n-nodes-base.readWriteFile",
      "typeVersion": 1,
      "position": [
        416,
        0
      ],
      "id": "351682b0-c568-46f3-8be9-55f6c236db2b",
      "name": "視頻文件確認"
    }
  ],
  "pinData": {},
  "connections": {
    "執行開始": {
      "main": [
        [
          {
            "node": "視頻渲染命令",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "視頻渲染命令": {
      "main": [
        [
          {
            "node": "視頻文件確認",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e778eff3-0e77-454b-9802-0f2260802851",
  "meta": {
    "instanceId": "c6c268789dd010b78843bfd8a3915fffc599acaaf824787b108bf057a2117b27"
  },
  "id": "GwQJb3wYuXy5mCqs",
  "tags": []
}

如果顯示出下圖所示的工作流程則成功。

按下執行按鈕後,視頻應該會生成,便完成了整個過程。

如果有問題,請檢查字型和 ffmpeg 是否正確設置。重新構建可能會在某些情況下成功。

  • 若出現 drawtext 無法的錯誤,請在容器執行 ffmpeg -filters | grep drawtext 以檢查其有無。請確認 Dockerfile 中的 apk add ffmpeg 是否正確安裝,如有需要可執行重新構建(docker compose build --no-cache)。
  • 若出現文字錯誤,請嘗試添加其他字型(Noto),並替換 fontfile
  • 若出現 /files 找不到,請檢查 Compose 的卷設置和實際文件夾 ./work 的權限。

總結

本文介紹了使用 n8n 免費服務的本地安裝步驟。

有兩種使用 npm 方式和 Docker 方式,選擇哪種方式都可以,個人較喜歡使用 npm。

這次以 ffmpeg 在本地進行視頻渲染的方式作為主題進行了設置說明。我認為整理一下雲端版本中無法使用的節點等限制的不同也是不錯的。

如果這篇文章對你有幫助,請關注我的 note 或 X 帳號!

這將成為我未來活動的激勵來源。


原文出處:https://qiita.com/hikarun_videoai/items/de239584d7e672a31f9a


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!