2025年11月10日 星期一

n8n Environment variables-basic

n8n Environment variables

在建置n8n平台除了在yml設定的參數後,在啟動過程系統會有建議的參數,可以依需求修改docker-compose.yml。

Environment variables-01

There are deprecations related to your environment variables. Please take the recommended actions to update your configuration:
- N8N_BLOCK_ENV_ACCESS_IN_NODE -> The default value of N8N_BLOCK_ENV_ACCESS_IN_NODE will be changed from false to true in a future version. If you need to access environment variables from the Code Node or from expressions, please set N8N_BLOCK_ENV_ACCESS_IN_NODE=false. Learn more: https://docs.n8n.io/hosting/configuration/environment-variables/security/

- N8N_GIT_NODE_DISABLE_BARE_REPOS -> Support for bare repositories in the Git Node will be removed in a future version due to security concerns. If you are not using bare repositories in the Git Node, please set N8N_GIT_NODE_DISABLE_BARE_REPOS=true. Learn more: https://docs.n8n.io/hosting/configuration/environment-variables/security/

環境變數說明

docker-compose.yml使用的參數
GENERIC_TIMEZONE=Asia/Taipei
GENERIC_TIMEZONE環境變數為面向調度的節點(如 Schedule Trigger node)設定正確的時區
TZ=Asia/Taipei
TZ環境變數設定系統時區,以控制date等腳本和指令回傳的內容
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
對n8n設定檔強制執行安全文件權限
N8N_RUNNERS_ENABLED=true
啟用任務運行器,在n8n中執行任務的建議方式
N8N_BLOCK_ENV_ACCESS_IN_NODE=true
封鎖 Code Node 與 Expression 讀取環境變數(.env)。
N8N_GIT_NODE_DISABLE_BARE_REPOS=true
禁止 Git Node 使用bare repository,只允許正常(有工作目錄的)Git repository,防止 Git Node 可能的安全風險
N8N_SECURE_COOKIE=false
停用TLS/HTTPS,供測試環境使用

使用PostgreSQL的參數,使用docker compse可寫於.env DB_TYPE=postgresdb DB_POSTGRESDB_HOST=postgres DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n

官方文件有提供不同的環境參數可以參考。
https://docs.n8n.io/hosting/configuration/environment-variables/
 

n8n install local with docker compose ( PostgreSQL)

n8n install local with docker compose ( PostgreSQL )

前篇n8n平台使用SQLite 存放憑證、歷史執行紀錄和工作流程的database。參考官網也可以使用PostgreSQL使用database,根據官方githubPostgreSQL資料修改為個人環境使用。

主機環境

Ubuntu 24.04.3 LTS Docker version v28.5.1 Docker compose version v2.40.3 N8n version 1.116.2 (1.118.1) (n8nio/n8n) PostgreSQL version 17 (PostgreSQL Docker Community)

安裝過程

1.使用者目錄建立n8n-postgres、n8n_data目錄及.env設定檔

將n8n_data目錄掛載到/home/node/.n8n目錄,當container重啟動後資料可以保留。 mkdir n8n-postgres/n8n_data/ -p 新建.env設定檔存放相關參數 (PostgreSQL user and password ),執行docker compose會自動帶入。 vim n8n-postgres/.env --- POSTGRES_USER=changeUser POSTGRES_PASSWORD=changePassword POSTGRES_DB=n8n POSTGRES_NON_ROOT_USER=changeUser POSTGRES_NON_ROOT_PASSWORD=changePassword ---
postgres-env

建立docker-compose.yml cd n8n-postgres vim docker-compose.yml --- services: n8n: image: n8nio/n8n:1.116.2 container_name: n8n ports: - "5678:5678" environment: - GENERIC_TIMEZONE=Asia/Taipei - TZ=Asia/Taipei - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true - N8N_RUNNERS_ENABLED=true - N8N_SECURE_COOKIE=false - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=postgres - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} links: - postgres volumes: - ./n8n_data:/home/node/.n8n depends_on: postgres: condition: service_healthy postgres: image: postgres:17 container_name: postgres environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_NON_ROOT_USER - POSTGRES_NON_ROOT_PASSWORD volumes: - ./db_data:/var/lib/postgresql/data - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh healthcheck: test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}'] interval: 5s timeout: 5s retries: 10 volumes: n8n_data: db_data: ---
postgres-yml

init-data.sh放在同一目錄,啟動才不會出錯。

2.啟動服務

啟動n8n、PostgreSQL服務 sudo docker compose up -d 啟動過程會依n8n、PostgreSQL啟動 檢查n8n、PostgreSQL服務 sudo docker compose ps -a ls -la
ss -ntlp
postgres-up

3.問題解決

原本使用n8n最新版本1.118.1,出現Connection lost無法連線PostgreSQL的訊息 You have a connection issue or the server is down. n8n should reconnect automatically once the issue is resolved. 查詢網站無法有效解決。後來發現n8n 版本1.116.2可以正常使用,先用此版本進行測試。

20251107 經過測試發現是browser問題,將browser (chrom/firefox)更新到最新版,在頁面操作都可以正常顯示。

2025年11月4日 星期二

n8n install local with docker compose

n8n install local with docker compose

本地主機搭建n8n測試環境,參考官網文件將原來的docker指令修改為docker compse啟動服務

docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="<YOUR_TIMEZONE>" \
 -e TZ="<YOUR_TIMEZONE>" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -e N8N_RUNNERS_ENABLED=true \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

主機環境

Ubuntu 24.04.3 LTS
Docker version v28.5.1
Docker compose version v2.40.3
N8n version 1.118.1 (n8nio/n8n)

安裝過程

1.使用者目錄建立n8n及n8n_data目錄

預計將n8n_data目錄掛載到/home/node/.n8n目錄,當container重啟動後資料可以保留。
mkdir n8n/n8n_data/ -p

建立docker-compose.yml
cd n8n
vim docker-compose.yml
---
services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Taipei
      - TZ=Asia/Taipei
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - ./n8n_data:/home/node/.n8n 
volumes:
  n8n_data:
---

2.環境變數說明
GENERIC_TIMEZONE=Asia/Taipei
GENERIC_TIMEZONE環境變數為面向調度的節點(如 Schedule Trigger node)設定正確的時區
TZ=Asia/Taipei
TZ環境變數設定系統時區,以控制date等腳本和指令回傳的內容
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
對n8n設定檔強制執行安全文件權限
N8N_RUNNERS_ENABLED=true
啟用任務運行器,在n8n中執行任務的建議方式

3.啟動n8n服務

sudo docker compose up -d
local-install-05
檢查n8n服務
sudo docker compose ps -a
ss -ntlp
ls -l n8n_data/
local-install-06
local-install-07
過程已直接安裝Sqlite資料庫

4.進入登入頁面

登入時如果出現此畫面是本機沒有申請ssl方式連線,需增加N8N_SECURE_COOKIE=false參數,方便測試使用
local-install-08
修改docker-compose.yml
重新啟動n8n服務
sudo docker compose down
sudo docker compose up -d
local-install-09

成功看到註冊面,直接設定帳號資料,密碼要8位數以上,要有數字和大寫字母。
local-install-10
如果要使用Community Edition 功能,請輸入正確的email方便收到註冊碼。

5.登入畫面

此畫面可以直接按get started跳過。
local-install-11
申請Community Edition License key,填入email就可以收到
local-install-12
n8n free license key mail
local-install-14
未輸入 license key
local-install-15
輸入 license key啟動後
local-install-16

6.影片




2025年11月2日 星期日

投資-202511

投資-202511

2025年10月,台股市場呈現由大型科技股主導的上漲格局

指數表現:加權指數月初自26,000點附近起漲,全月大漲2155.06點(漲幅8.26%),成功站上28,000點大關,於10月29日盤中創下28,527.68點的歷史新高,月底收在28,233.35點。   

法人成交量:三大法人集中市場呈現小幅賣超,達593.49億新台幣。   

台積電表現:台積電(2330)股價全月大漲約13.21%,從月初1,325元攀升至月底的1,500元,盤中最高達1,525元,表現遠超大盤。   

新台幣匯率:新台幣兌美元呈現先升後貶趨勢,全月小幅貶值,匯率從月初約30.48,月底收在30.76左右。全月高低點震盪幅度約 0.45 元。   

熱門產業:資金集中於AI人工智慧,由台積電領軍,帶動相關 IC設計先進封裝 (封測)矽晶圓 等次產業同步受惠,成為盤面領漲主流。

美國三大指數:10月份美股表現同步上揚,以科技股為主的那斯達克指數全月大漲5.30%,標普500與道瓊工業指數也分別上漲2.58%及2.63%。

#以上內容使用gemini pro整理產出。 

個人投資

10月份台積電帶動市值型ETF大漲,整體市值型到達60%,現階段部位不會進行調整。思考配置佔比是否調整。
目標配置市值型ETF 50%+高股息ETF 20%+債ETF 20%+主動式ETF 10%

實際配置市值型ETF 60.48%+高股息ETF 19.16 %+債ETF 18.19 %+主動式ETF 2.18 %
總投入金額 252872
總市值 33250520251101-1

配置
20251101-2