Update Dockerfile
Browse files- Dockerfile +32 -11
Dockerfile
CHANGED
@@ -7,30 +7,51 @@ ARG N8N_PATH=/home/node/.n8n
|
|
7 |
|
8 |
# --- 環境變數設定 ---
|
9 |
ENV N8N_USER_FOLDER=$N8N_PATH
|
10 |
-
ENV DB_TYPE=sqlite
|
11 |
ENV N8N_DISABLE_PRODUCTION_MAIN_PROCESS_BETA=true
|
12 |
|
13 |
-
# ---
|
14 |
-
|
15 |
-
ENV
|
16 |
|
17 |
-
# ---
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
# --- 安裝系統依賴 ---
|
|
|
21 |
USER root
|
22 |
RUN apk add --no-cache \
|
23 |
git \
|
|
|
|
|
|
|
|
|
24 |
chromium \
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
# --- 安裝 n8n 和
|
28 |
-
# 關鍵修正:同時安裝 n8n 和
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
# --- 設定權限 ---
|
32 |
RUN mkdir -p ${N8N_PATH} && \
|
33 |
-
chown -R node:node /home/node
|
34 |
|
35 |
# --- 切換到非 root 用戶 ---
|
36 |
USER node
|
|
|
7 |
|
8 |
# --- 環境變數設定 ---
|
9 |
ENV N8N_USER_FOLDER=$N8N_PATH
|
|
|
10 |
ENV N8N_DISABLE_PRODUCTION_MAIN_PROCESS_BETA=true
|
11 |
|
12 |
+
# --- 關鍵修正:允許 n8n 的 Code 節點使用外部模組 ---
|
13 |
+
# 同時允許 puppeteer 和 playwright,以提供最大彈性
|
14 |
+
ENV NODE_FUNCTION_ALLOW_EXTERNAL=puppeteer,playwright
|
15 |
|
16 |
+
# --- 資料庫設定 (連接至 Supabase) ---
|
17 |
+
# 注意:這些值將由 Hugging Face Secrets 提供,此處僅為宣告
|
18 |
+
ENV DB_TYPE=postgresdb
|
19 |
+
ENV DB_POSTGRESDB_HOST=""
|
20 |
+
ENV DB_POSTGRESDB_PORT=5432
|
21 |
+
ENV DB_POSTGRESDB_DATABASE=postgres
|
22 |
+
ENV DB_POSTGRESDB_USER=postgres
|
23 |
+
ENV DB_POSTGRESDB_PASSWORD=""
|
24 |
+
ENV DB_POSTGRESDB_SSL=true # 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 \
|
36 |
+
nss \
|
37 |
+
freetype \
|
38 |
+
harfbuzz \
|
39 |
+
ca-certificates \
|
40 |
+
dbus-glib \
|
41 |
+
fontconfig
|
42 |
|
43 |
+
# --- 安裝 n8n 和 Playwright 套件 ---
|
44 |
+
# 關鍵修正:同時安裝 n8n 和 playwright
|
45 |
+
# 如果你不再需要 puppeteer,可以從此處移除
|
46 |
+
RUN npm install -g n8n@${N8N_VERSION} playwright puppeteer --omit=dev
|
47 |
+
|
48 |
+
# 關鍵修正:安裝 Playwright 的瀏覽器二進位檔案
|
49 |
+
# 這會下載 Chromium, Firefox, WebKit 等瀏覽器到 Docker 映像檔中
|
50 |
+
RUN npx playwright install --with-deps
|
51 |
|
52 |
# --- 設定權限 ---
|
53 |
RUN mkdir -p ${N8N_PATH} && \
|
54 |
+
chown -R node:node /home/node /usr/lib/node_modules
|
55 |
|
56 |
# --- 切換到非 root 用戶 ---
|
57 |
USER node
|