Docker Compose 快速安裝 n8n

2025/02/24 69 0 伺服器

n8n 是一款強大的開源自動化工具,能夠幫助開發者和企業將不同的應用程式和服務串聯起來,打造高效率的工作流程。它的設計理念與 Zapier 類似,但 n8n 提供更高的靈活性,並允許使用者在本地或自有伺服器上部署,確保數據的安全性與掌控權。n8n 採用節點(Node)式的視覺化編排方式,使用者可以透過拖拉的方式將各種服務和 API 連結在一起,輕鬆建立自動化流程,例如資料同步、通知推送、報表生成等。

支援的整合服務涵蓋各類常見應用,如 Slack、Telegram、Google Sheets、MySQL、PostgreSQL 以及各種 REST API。除了內建的數百種節點外,n8n 還允許使用者透過 JavaScript 或 TypeScript 編寫自訂節點,擴展其功能。它內建支援 Webhook,使得外部應用可以觸發 n8n 工作流,這對於事件驅動的應用程式特別有幫助。

相較於其他商業化自動化平台,n8n 具有開源且可自託管的優勢,使用者可以自由調整和擴展系統,而不受限於 SaaS 方案的訂閱限制。對於開發者而言,n8n 也提供 CLI 介面與 API,可以與現有的 DevOps 流程整合,達到更進階的自動化應用。透過 n8n,個人開發者和企業能夠大幅提升工作效率,減少重複性操作,並實現更智慧化的業務流程管理。

🔗 GitHub 儲存庫:https://github.com/qwe987299/n8n

📝 docker-compose.yml

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - GENERIC_TIMEZONE=Asia/Taipei
      # - WEBHOOK_URL=http://your-server-ip:5678/  # 若需啟用 Webhook,請修改 IP 或網域
    volumes:
      - ./n8n_data:/home/node/.n8n

這份 Docker Compose 配置定義了一個名為 n8n 的服務,使用官方提供的 n8n Docker 映像檔 docker.n8n.io/n8nio/n8n 來運行。該容器被命名為 n8n,並設定為當容器崩潰時自動重啟 (restart: always)。容器內部的 5678 埠被對映到主機的 5678 埠,確保外部可以透過該埠存取 n8n 的 Web 介面。環境變數部分定義了 n8n 的運行參數,包括 N8N_PORT=5678,設定應用程式監聽的端口,N8N_PROTOCOL=http 指定 n8n 透過 HTTP 提供服務,而 NODE_ENV=production 則表明此環境為正式環境。此外,GENERIC_TIMEZONE=Asia/Taipei 設定時區為台北時間,確保 n8n 內部時間與當地時間同步。WEBHOOK_URL 這項設定目前被註解,若 n8n 需要接收 Webhook,則需根據實際需求填寫伺服器 IP 或網域名稱。最後,配置了一個 Volume,將主機目錄 ./n8n_data 掛載至容器內的 /home/node/.n8n,確保 n8n 的數據可持久化儲存,即使容器重新啟動,數據仍然能夠保留。

📝 chown.sh

if [ -d "n8n_data" ]; then
  sudo chown -R 1000:1000 n8n_data
else
  echo "Directory n8n_data does not exist."
fi

這段 Shell 腳本的作用是檢查當前目錄下是否存在名為 n8n_data 的資料夾,若該目錄存在,則執行 sudo chown -R 1000:1000 n8n_data,將 n8n_data 及其所有子目錄和檔案的擁有者變更為 UID 1000 和 GID 1000,確保容器內執行的 node 使用者可以正確存取該目錄。如果 n8n_data 目錄不存在,則輸出 "Directory n8n_data does not exist." 提示訊息,表示目錄尚未建立。


▲ 透過 git clone 下載我提供的快速建置專案,接著進入 n8n 目錄並使用 docker compose up -d 啟動容器,然後執行 bash chown.sh 確保權限正確。

▲ n8n 第一次啟動時會要求設定擁有者帳號,需輸入 Email、姓名與密碼,點擊「Next」來完成基本帳號建立。

▲ n8n 會詢問使用者的工作角色與應用場景,這些資訊有助於客製化建議,填寫後點擊「Get started」繼續,這步驟可完全留空。

▲ n8n 現階段提供免費啟用的進階功能,例如工作流歷史與錯誤偵測,可以輸入 Email 取得授權碼,或點擊「Skip」略過。

▲ 進入 n8n 主介面後,可以選擇從零開始建立新的工作流,或使用內建的 AI 自動化範例來快速上手操作。

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇