ezzygame commited on
Commit
f30e76d
·
verified ·
1 Parent(s): 4827b35

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -16
Dockerfile CHANGED
@@ -1,29 +1,47 @@
1
- FROM node:24-alpine
2
 
3
  USER root
4
 
5
- # System deps (include bind-tools for dig/nslookup troubleshooting)
6
- RUN apk add --no-cache \
7
- ca-certificates \
8
- openssl \
 
 
 
 
 
 
 
 
 
9
  tzdata \
10
- su-exec \
11
- bind-tools \
12
- && update-ca-certificates
 
 
 
 
 
 
 
13
 
14
- # Prefer IPv4 when both v4/v6 exist
15
- RUN printf 'precedence ::ffff:0:0/96 100\n' > /etc/gai.conf
16
 
17
- # Node: IPv4-first; allow TLS1.3 (do NOT cap to TLS1.2)
18
- ENV NODE_OPTIONS="--dns-result-order=ipv4first --tls-min-v1.2"
19
 
20
- # Install n8n
21
- RUN npm install -g n8n@2.9.4
 
 
 
22
 
23
  WORKDIR /data
24
 
25
  COPY entrypoint.sh /entrypoint.sh
26
  RUN chmod +x /entrypoint.sh
27
-
28
  ENTRYPOINT ["/entrypoint.sh"]
29
- CMD ["n8n", "start"]
 
 
1
+ FROM node:22-bookworm-slim
2
 
3
  USER root
4
 
5
+ ARG N8N_VERSION=2.9.4
6
+
7
+ # Install dependencies using Debian's apt-get
8
+ RUN apt-get update && apt-get install -y --no-install-recommends \
9
+ git \
10
+ python3 \
11
+ make \
12
+ g++ \
13
+ build-essential \
14
+ libcairo2-dev \
15
+ libpango1.0-dev \
16
+ chromium \
17
+ postgresql-client \
18
  tzdata \
19
+ gosu \
20
+ ca-certificates \
21
+ && rm -rf /var/lib/apt/lists/*
22
+
23
+ ENV PUPPETEER_SKIP_DOWNLOAD=true
24
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
25
+
26
+ ENV N8N_USER_FOLDER=/data/.n8n
27
+ ENV N8N_LISTEN_ADDRESS=0.0.0.0
28
+ ENV N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
29
 
30
+ ENV NODE_FUNCTION_ALLOW_BUILTIN=*
31
+ ENV NODE_FUNCTION_ALLOW_EXTERNAL=*
32
 
33
+ ENV NODE_OPTIONS=--dns-result-order=ipv4first
 
34
 
35
+ RUN npm install -g "n8n@${N8N_VERSION}" \
36
+ && npm cache clean --force
37
+
38
+ RUN mkdir -p /data/.n8n \
39
+ && chown -R node:node /data
40
 
41
  WORKDIR /data
42
 
43
  COPY entrypoint.sh /entrypoint.sh
44
  RUN chmod +x /entrypoint.sh
 
45
  ENTRYPOINT ["/entrypoint.sh"]
46
+
47
+ CMD ["sh", "-lc", "export N8N_PORT=${PORT:-${N8N_PORT:-5678}}; n8n start"]