自架設 N8N docker 教學 - Tencent VM + nginx
2025/04/21 上午03:05
24 views
首先要做的事是建立一個別人獲取的到的網址
n8n會需要別人來獲取你的系統資訊,一個可對外的網址就很重要,不然別人根本看不進來,怎麼跟你交換資訊?
如果你是用 cloudflare,先到cloudflare DNS設定你的網域 用A
把 n8n對應到你的container的ip,如此透過n8n.你的IP,就可以找到你的系統了。然後就是要創建nginx
創建NGINX
- 進入VM,輸入
sudo nano /etc/nginx/sites-available/n8n.conf
- 輸入轉發指令,這裡server_name auto.moirai-ai.com;請改成你的。這裡server_name auto.moirai-ai.com;請改成你的。這裡server_name auto.moirai-ai.com;請改成你的。
server {
listen 80;
# 如果你的伺服器支援 IPv6 且 Cloudflare 也啟用了 IPv6
listen [::]:80;
server_name auto.moirai-ai.com;
# Optional: 設定 log 檔案路徑
access_log /var/log/nginx/auto.moirai-ai.com.access.log;
error_log /var/log/nginx/auto.moirai-ai.com.error.log;
# 加大請求體大小限制 (n8n 可能需要處理大檔案)
client_max_body_size 100M; # 根據需要調整
location / {
proxy_pass http://localhost:5678; # 將請求轉發給本地的 n8n 容器
# --- 非常重要的 Header 設定 ---
# 將原始請求的 Host 傳遞給後端
proxy_set_header Host $host;
# Cloudflare 會將真實的訪客 IP 放在 CF-Connecting-IP 或 X-Forwarded-For
# 優先使用 Cloudflare 提供的 Header (如果有的話)
proxy_set_header X-Real-IP $http_cf_connecting_ip;
# 將代理鏈中的 IP 列表傳遞下去 (Nginx 會附加 Cloudflare 的 IP)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ***關鍵***: 告訴後端 (n8n) 原始請求是 HTTPS,即使 Nginx <-> Cloudflare 是 HTTP
# 因為 Flexible SSL 模式下,Nginx 收到的請求 $scheme 是 http,但原始是 https
proxy_set_header X-Forwarded-Proto https;
# --- WebSocket 支援 ---
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Optional: 調整超時時間
# proxy_connect_timeout 600;
# proxy_send_timeout 600;
# proxy_read_timeout 600;
# send_timeout 600;
}
}
- 啟用配置
# 如果之前創建了符號鏈接,先確保它是最新的
# 如果沒有創建過,執行:
sudo ln -s /etc/nginx/sites-available/n8n.conf /etc/nginx/sites-enabled/
# 如果有名為 'default' 的衝突配置,可能需要移除它
# sudo rm /etc/nginx/sites-enabled/default
- 測試
sudo nginx -t
- 重新加載
sudo systemctl reload nginx
上面設定成功後後面步驟就非常簡單了
- 首先先創建容器
docker volume create n8n_data
- 執行docker run,
-e WEBHOOK_URL="https://auto.moirai-ai.com/"
請替換為你的網址!!!!!!!!!!!!!!!!
sudo docker run -d \
--restart always \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e WEBHOOK_URL="https://auto.moirai-ai.com/" \
docker.n8n.io/n8nio/n8n
之後打開 https://auto.moirai-ai.com/
,就能看到N8N的介面了,第一次會叫你創建管理員帳號,也建議開啟2FA(二階段驗證)。
沒成功的歡迎下方留言,我教你教到會!