Update Dockerfile
Browse files- 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 |
-
#
|
|
|
52 |
RUN mkdir -p ${N8N_PATH} && \
|
53 |
-
chown -R node:node /home/node
|
54 |
|
55 |
# --- 切換到非 root 用戶 ---
|
56 |
USER node
|
@@ -59,9 +55,5 @@ WORKDIR /home/node
|
|
59 |
# --- 開放 n8n 預設端口 ---
|
60 |
EXPOSE 5678
|
61 |
|
62 |
-
# --- 啟動 n8n
|
63 |
-
CMD
|
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"]
|
|
|
|
|
|
|
|