aceoo commited on
Commit
2750c69
·
verified ·
1 Parent(s): 565be98

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -11
Dockerfile CHANGED
@@ -2,6 +2,7 @@ FROM node:24-alpine
2
 
3
  # Set user to root for installation
4
  USER root
 
5
  # Arguments that can be passed at build time
6
  ARG N8N_PATH=/usr/local/lib/node_modules/n8n
7
  ARG BASE_PATH=/root/.n8n
@@ -10,6 +11,9 @@ ARG CONFIG_PATH=$BASE_PATH/config
10
  ARG WORKFLOWS_PATH=$BASE_PATH/workflows
11
  ARG LOGS_PATH=$BASE_PATH/logs
12
  ARG N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=$N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS
 
 
 
13
  ARG N8N_HOST=$N8N_HOST
14
  ARG N8N_PORT=$N8N_PORT
15
  ARG N8N_PROTOCOL=https
@@ -27,6 +31,7 @@ ARG DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER
27
  ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
28
 
29
  # Install system dependencies
 
30
  RUN apk add --no-cache \
31
  git \
32
  python3 \
@@ -39,29 +44,48 @@ RUN apk add --no-cache \
39
  chromium \
40
  postgresql-client \
41
  ffmpeg \
42
- yt-dlp
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  # Set environment variables
45
  ENV PUPPETEER_SKIP_DOWNLOAD=true
46
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
47
 
48
  # Install n8n globally
49
- RUN npm install -g n8n@1.97.1
50
 
51
  # Create necessary directories
52
  RUN mkdir -p $DATABASE_PATH $CONFIG_PATH $WORKFLOWS_PATH $LOGS_PATH \
53
  && chmod -R 777 $BASE_PATH
54
 
 
 
 
 
 
 
55
  # Set working directory
56
  WORKDIR /data
57
 
58
  # Start n8n
59
- CMD ["n8n", "start"]
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
 
2
 
3
  # Set user to root for installation
4
  USER root
5
+
6
  # Arguments that can be passed at build time
7
  ARG N8N_PATH=/usr/local/lib/node_modules/n8n
8
  ARG BASE_PATH=/root/.n8n
 
11
  ARG WORKFLOWS_PATH=$BASE_PATH/workflows
12
  ARG LOGS_PATH=$BASE_PATH/logs
13
  ARG N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=$N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS
14
+ ARG N8N_REINSTALL_MISSING_PACKAGES=$N8N_REINSTALL_MISSING_PACKAGES
15
+ ARG N8N_RUNNERS_ENABLED=true
16
+ ARG allowVulnerableTags=true
17
  ARG N8N_HOST=$N8N_HOST
18
  ARG N8N_PORT=$N8N_PORT
19
  ARG N8N_PROTOCOL=https
 
31
  ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
32
 
33
  # Install system dependencies
34
+ # --- 修改内容 ---: 在列表中添加了 unzip 和 libaio 用于安装 Oracle Client
35
  RUN apk add --no-cache \
36
  git \
37
  python3 \
 
44
  chromium \
45
  postgresql-client \
46
  ffmpeg \
47
+ yt-dlp \
48
+ openssl \
49
+ busybox-extras \
50
+ curl \
51
+ bash \
52
+ unzip \
53
+ libaio
54
+
55
+ # # --- 新增内容开始 ---
56
+ # # 安装 Oracle Instant Client for Alpine Linux
57
+ # RUN curl -o /tmp/instantclient.zip https://download.oracle.com/otn_software/linux/instantclient/2112000/instantclient-basic-linux.x64-21.12.0.0.0dbru.zip \
58
+ # && mkdir -p /opt/oracle \
59
+ # && unzip /tmp/instantclient.zip -d /opt/oracle \
60
+ # && rm /tmp/instantclient.zip
61
+
62
+ # # 设置 Oracle 相关的环境变量
63
+ # ENV ORACLE_HOME=/opt/oracle/instantclient_21_12
64
+ # ENV LD_LIBRARY_PATH=$ORACLE_HOME
65
+
66
+ # # 使用 pip 安装 cx_Oracle
67
+ # RUN pip install cx_Oracle==8.3.0
68
+ # # --- 新增内容结束 ---
69
 
70
  # Set environment variables
71
  ENV PUPPETEER_SKIP_DOWNLOAD=true
72
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
73
 
74
  # Install n8n globally
75
+ RUN npm install -g n8n@1.104.2
76
 
77
  # Create necessary directories
78
  RUN mkdir -p $DATABASE_PATH $CONFIG_PATH $WORKFLOWS_PATH $LOGS_PATH \
79
  && chmod -R 777 $BASE_PATH
80
 
81
+ # 修改目录权限为 node 用户可读写
82
+ RUN chown -R node:node $BASE_PATH
83
+
84
+ # Fix write permission for /data
85
+ RUN mkdir -p /data && chmod -R 777 /data
86
+
87
  # Set working directory
88
  WORKDIR /data
89
 
90
  # Start n8n
91
+ CMD ["n8n", "start"]