分類彙整: n8n

使用 docker-compose.yml 安裝 n8n

https://github.com/dean9703111/n8n-google-sheet-exmaple

使用 docker-compose.yml 安裝 n8n

你可以直接 git clone 筆者的 GitHub 專案,或者建立一個 n8n 的資料夾,新增 docker-compose.yml 檔案。

volumes:
  n8n_storage:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "127.0.0.1:5678:5678" # 根據實際需求設定
    volumes:
      - n8n_storage:/home/node/.n8n

貼上內容後,在終端機(Terminal)
輸入 docker compose --project-name n8n up -d  即可啟動


加上

environment:
  - N8N_SECURE_COOKIE=false      # 或改成 true 並上 HTTPS
  - N8N_PROTOCOL=http

🔐 1. 安裝憑證(仍需暫時用 port 80)

sudo apt install certbot python3-certbot-apache
sudo certbot certonly --standalone -d yourdomain.com

成功後,憑證位置會是:
/etc/letsencrypt/live/yourdomain.com/

🛠 2. 設定 Apache SSL(以 8443 為例)
建立檔案:
sudo nano /etc/apache2/sites-available/n8n-ssl.conf
內容如下:

<VirtualHost *:8443>
ServerName yourdomain.com

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem

ProxyPreserveHost On
ProxyPass / http://localhost:5678/
ProxyPassReverse / http://localhost:5678/

ErrorLog ${APACHE_LOG_DIR}/n8n_error.log
CustomLog ${APACHE_LOG_DIR}/n8n_access.log combined
</VirtualHost>

啟用必要模組與設定:
sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_http

sudo a2ensite n8n-ssl.conf
sudo systemctl reload apache2

🐳 3. Docker Compose 設定 (n8n 走 http 5678)

services:
n8n:
image: n8nio/n8n
restart: always
ports:
– “5678:5678”
environment:
– N8N_HOST=yourdomain.com
– N8N_PORT=5678
– N8N_PROTOCOL=http
– N8N_SECURE_COOKIE=true


🔎 存取方式:

你可以透過:
https://yourdomain.com:8443