chakasoft commited on
Commit
ca36c6b
·
verified ·
1 Parent(s): 8e7046e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +7 -15
Dockerfile CHANGED
@@ -13,23 +13,19 @@ ENV N8N_DISABLE_PRODUCTION_MAIN_PROCESS_BETA=true
13
  ENV NODE_FUNCTION_ALLOW_EXTERNAL=puppeteer,playwright
14
 
15
  # --- 資料庫設定 (連接至 Supabase) ---
16
- # 注意:這些值將由 Hugging Face Secrets 提供,此處僅為宣告
17
  ENV DB_TYPE=postgresdb
18
  ENV DB_POSTGRESDB_HOST=""
19
  ENV DB_POSTGRESDB_PORT=5432
20
  ENV DB_POSTGRESDB_DATABASE=postgres
21
  ENV DB_POSTGRESDB_USER=postgres
22
  ENV DB_POSTGRESDB_PASSWORD=""
23
- ENV DB_POSTGRESDB_SSL=true
24
- # Supabase 需要 SSL 連線
25
 
26
  # --- 安裝系統依賴 ---
27
- # 為 Playwright 添加必要的系統依賴
28
  USER root
29
  RUN apk add --no-cache \
30
  git \
31
  procps-ng \
32
- # Playwright 的瀏覽器依賴 (Alpine Linux)
33
  udev \
34
  ttf-freefont \
35
  chromium \
@@ -44,13 +40,13 @@ RUN apk add --no-cache \
44
  RUN npm install -g n8n@${N8N_VERSION} playwright puppeteer --omit=dev
45
 
46
  # --- 安裝 Playwright 的瀏覽器二進位檔案 ---
47
- # 我們已經在上面的 `apk add` 指令中手動安裝了所有依賴。
48
  RUN npx playwright install
49
 
50
- # --- 設定權限 ---
51
- # 主要修正:將 chown 的目標路徑修正為 /usr/local/lib/node_modules
 
52
  RUN mkdir -p ${N8N_PATH} && \
53
- chown -R node:node /home/node /usr/local/lib/node_modules
54
 
55
  # --- 切換到非 root 用戶 ---
56
  USER node
@@ -59,9 +55,5 @@ WORKDIR /home/node
59
  # --- 開放 n8n 預設端口 ---
60
  EXPOSE 5678
61
 
62
- # --- 啟動 n8n 並在日誌中顯示公開網址 ---
63
- CMD sh -c 'echo "-----------------------------------------------------" && \
64
- echo "n8n is running!" && \
65
- echo "Access it at: https://${SPACE_HOST}" && \
66
- echo "-----------------------------------------------------" && \
67
- n8n'
 
13
  ENV NODE_FUNCTION_ALLOW_EXTERNAL=puppeteer,playwright
14
 
15
  # --- 資料庫設定 (連接至 Supabase) ---
 
16
  ENV DB_TYPE=postgresdb
17
  ENV DB_POSTGRESDB_HOST=""
18
  ENV DB_POSTGRESDB_PORT=5432
19
  ENV DB_POSTGRESDB_DATABASE=postgres
20
  ENV DB_POSTGRESDB_USER=postgres
21
  ENV DB_POSTGRESDB_PASSWORD=""
22
+ ENV DB_POSTGRESDB_SSL=true
 
23
 
24
  # --- 安裝系統依賴 ---
 
25
  USER root
26
  RUN apk add --no-cache \
27
  git \
28
  procps-ng \
 
29
  udev \
30
  ttf-freefont \
31
  chromium \
 
40
  RUN npm install -g n8n@${N8N_VERSION} playwright puppeteer --omit=dev
41
 
42
  # --- 安裝 Playwright 的瀏覽器二進位檔案 ---
 
43
  RUN npx playwright install
44
 
45
+ # --- 設定權限 (主要修正) ---
46
+ # 只對 node 使用者的家目錄進行 chown,避免對龐大的 node_modules 操作,解決建置卡頓問題。
47
+ # 因為 $N8N_PATH 就在 /home/node 裡面,所以一條指令就足夠。
48
  RUN mkdir -p ${N8N_PATH} && \
49
+ chown -R node:node /home/node
50
 
51
  # --- 切換到非 root 用戶 ---
52
  USER node
 
55
  # --- 開放 n8n 預設端口 ---
56
  EXPOSE 5678
57
 
58
+ # --- 啟動 n8n ---
59
+ CMD ["n8n"]