如何在電腦安裝與部署 n8n(Docker)
n8n 是一個強大的開源自動化工作流程工具,你可以串聯各種應用程式和服務,自訂自動化流程。雖然 n8n 提供雲端版本,如果你想完全掌控資料並免費在自己的電腦端運行,自我託管(Self-hosting)是最佳的選擇。本文將帶你一步步在自己的電腦上使用 Docker 部署 n8n,並搭配 PostgreSQL 作為資料庫,讓你快速上手。
這篇文章我是使用 macOS(使用 Docker Desktop),但步驟也通用於其他作業系統(如 Windows)。
前置條件
在開始之前,請確保你的電腦已經安裝好以下軟體:
- Docker Desktop: 下載並安裝 Docker Desktop
- 基本終端機知識:會用命令列操作即可。
- 穩定的網絡連接:需要下載 Docker 映像檔。
步驟說明
以下會使用到 Docker 相關的指令,如果你對 Docker 不熟悉,歡迎參考 Docker 官方文檔。 Docker Compose 可以讓我們用一個描述檔(預設名稱是 docker-compose.yml )管理與操作多個容器,而描述檔會以 YAML 格式撰寫。
1. 建立專案目錄
首先,建立一個專案目錄(名稱都可以自己替換),可以用來存放 n8n 的相關檔案。在終端機中執行以下命令:
mkdir n8n-docker
cd n8n-docker
2. 創建 Docker Compose 檔案
在專案目錄中創建一個 docker-compose.yml
檔案,用來定義 n8n 和 PostgreSQL 的 Docker 容器。
docker-compose.yml
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- ./n8n_storage:/home/node/.n8n
depends_on:
- postgres
postgres:
image: postgres:16
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./postgres_storage:/var/lib/postgresql/data
volumes:
n8n_storage:
postgres_storage:
說明:
- 使用 n8n 的 Docker 映像檔,並將容器的
5678
埠映射到主機的5678
埠。 postgres
服務:使用 PostgreSQL 的 Docker 映像檔,並設定用戶名、密碼和資料庫名稱(放在.env
檔案中)。volumes
:分別用來保存 n8n 和 PostgreSQL 的資料。- GENERIC_TIMEZONE 和 TZ 環境變數:設定時區為台北時區。
- 相關設定可以參考 n8n 官方文件。
3. 創建 .env
檔案
在專案目錄中創建一個 .env
檔案,用來設定 PostgreSQL 的用戶名、密碼和資料庫名稱。
.env
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
POSTGRES_DB=your_n8n_database
4. 啟動 n8n 服務
在終端機中執行以下命令,啟動 n8n 和 PostgreSQL 服務:你應該會看到建立的容器正在背景運行。
docker compose up -d
5. 打開瀏覽器前往 n8n 頁面
- 目前我們預設的 n8n 服務埠是
5678
,所以打開瀏覽器並前往http://localhost:5678
,你應該會看到 n8n 的登入設定頁面。 - 輸入信箱、用戶姓名和密碼,你就可以開始使用 n8n,記得要保存好你的帳號與密碼資訊,由於在地端自架的 n8n 並不會有忘記密碼的功能,如果真的忘記的話,可能要調整資料庫的密碼或者重新建立一個新的資料庫,或需要串接信箱服務來重設密碼,這個待後續再與大家分享。
6. 關閉 n8n 服務
如果你想關閉 n8n 服務,可以在終端機中執行以下命令:
docker compose down
今天的教學就到這邊,希望這篇文章能幫助你在自己的電腦上部署 n8n,並開始使用這個強大的自動化工具啦!