−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

用 Docker 在 VPS 上自建 n8n

2026年6月15日 · 1 分鐘閱讀 · EQVPS Team

n8n 是那種您一開始只是輕輕用一下、然後悄悄把一半營運都路由過去的工具。到那時,「它跑在別人雲上的一個席位、按次執行計費、我的 API 金鑰待在他們的伺服器上」就開始讓人覺得沒那麼美好了。自託管把這三樣都修好——固定成本、無執行上限,您的金鑰留在您自己的機器上。用 Docker,這是個十五分鐘的活。

它實際需要多大的伺服器

先給誠實的數字,好讓您不超買也不少買:

  • 約 2 GB RAM 是甜點——n8n 加它的 Postgres 資料庫加正常工作流在這裡都很舒服。
  • 1 GB 在您工作流輕時可用,但大一點的執行您會注意到。
  • 4 GB 如果您做重度並行執行、或推大負載過去。

n8n 靜息時不吃 CPU;它在執行時飆升。一台 2 核機器對多數設定都行。(把規格配到負載的更多內容見設定指南。)

Docker 搭建

在一台全新的 Ubuntu/Debian 機器上,裝 Docker:

curl -fsSL https://get.docker.com | sudo sh

建一個資料夾和一個 docker-compose.yml——帶持久卷的 n8n 加 Postgres:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_PASSWORD=change-me
    volumes:
      - ./n8n-data:/home/node/.n8n
    depends_on: [db]
  db:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_PASSWORD=change-me
      - POSTGRES_DB=n8n
    volumes:
      - ./db-data:/var/lib/postgresql/data
sudo docker compose up -d

兩點值得指出:那些卷(n8n-data、db-data)就是讓您的工作流跨重新啟動和升級存活下來的東西——別跳過它們。還有 n8n 綁在 127.0.0.1 上,而不是 0.0.0.0——它沒有直接暴露到公用。這是故意的;下一步安全地處理存取。

存取:HTTPS 還是通道

  • 公用 URL(OAuth 整合和 webhook 需要): 把一個子網域指向伺服器,在 127.0.0.1:5678 前面跑一個反向代理(Caddy 最省事——自動 HTTPS)。這裡適合一個獨立IP方案,因為您掌控埠和 DNS。
  • 只給自己用、沒有網域: 跳過代理,透過 SSH 通道存取它——ssh -L 5678:127.0.0.1:5678 user@server,然後開啟 localhost:5678。在 NAT VPS 上也沒問題。

鎖死它、讓它保活

n8n 持有您的 API 金鑰和憑據,所以機器必須嚴實:在您放進真實憑據之前,先做安全清單(SSH 金鑰、防火牆、停用密碼登入)。compose 檔案裡的 restart: always 已經意味著 Docker 會在崩潰或重新啟動後把 n8n 拉回來——您的正常執行時間已經搞定。

值得嗎?

對量誠實一點。如果您不停地跑自動化,自託管在成本上贏(固定 vs 按次執行),並去掉任何工作流/執行上限。如果您一個月觸發幾個流,託管席位更省心。但掌控這個論點無論如何都成立:您的工作流、您的資料、您的金鑰——在您自己的伺服器上,不是租的。 對多數認真用起 n8n 的人來說,那就是決定性因素。

一台 2 GB 的機器、一個 compose 檔案、一個網域(或一條通道),您就在跑自己的自動化中樞了——可用加密貨幣、免 KYC 付款,幾分鐘內上線。


開箱即用的設定: 見 面向 n8n 的 VPS——推薦方案加一分鐘的加密部署。

常見問題

自託管 n8n 需要多少 RAM?

對 n8n 加它的 Postgres 資料庫加正常工作流,約 2 GB 是舒服的甜點。工作流輕的話 1 GB 也能跑,但大一點的執行您會感覺到。重度並行執行或大負載——上到 4 GB。

自託管 n8n 需要 Docker 嗎?

那是目前最簡單的方式——一個 compose 檔案就給您 n8n、一個資料庫和持久化儲存,升級就是一次 pull。您也可以用 npm 安裝,但 Docker 幫您省掉依賴和升級的頭疼。

自託管 n8n 比 n8n 雲便宜嗎?

如果您持續跑一串自動化,是的——包月的固定 VPS 勝過按次執行的定價,而且沒有工作流或執行次數上限。一個月只跑幾次,託管席位也許更省事。人們自託管的另一個理由是掌控:您的資料和 API 金鑰從不離開您的伺服器。

n8n 需要一個網域嗎?

對基於 OAuth 的整合(Google 等)和乾淨的 HTTPS,需要——把一個網域指向伺服器,把 n8n 放在一個帶憑證的反向代理後面。純內部使用的話,您能透過 SSH 通道存取它,不用網域。

n8n 能在 NAT VPS 上跑,還是需要獨立IP?

內部/SSH 通道使用在 NAT 機器上就行。如果您想要一個帶您自己網域和 HTTPS 的公用 URL(某些 OAuth 回撥和 webhook 需要),獨立IP方案更合適,因為您掌控所有埠。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。