Yking23 commited on
Commit
cb6aa59
Β·
verified Β·
1 Parent(s): f5e187f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -14
Dockerfile CHANGED
@@ -1,21 +1,42 @@
1
- ARG N8N_VERSION=stable
 
 
 
2
 
3
- FROM docker.n8n.io/n8nio/n8n:$N8N_VERSION
 
 
 
 
 
4
 
5
- LABEL maintainer="Xiaoliang <xiaoliang.zero@gmail.com>"
 
6
 
7
- ENV N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
8
- N8N_RUNNERS_ENABLED=true \
9
- N8N_PROXY_HOPS=1
10
 
11
- # https://huggingface.co/docs/hub/spaces-sdks-docker#permissions
12
- # The container runs with user ID 1000.
13
- # node docker image already has a user named node with ID 1000.
14
- USER node
15
 
16
- VOLUME ["$HOME/.n8n"]
 
 
17
 
18
- # n8n default port
19
- EXPOSE 5678
 
 
 
 
 
20
 
21
- ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"]
 
 
 
 
 
 
 
 
1
+ # =============================================
2
+ # n8n on Hugging Face Spaces
3
+ # =============================================
4
+ FROM node:18-alpine
5
 
6
+ # Install system dependencies
7
+ RUN apk add --no-cache \
8
+ git \
9
+ curl \
10
+ tzdata \
11
+ ca-certificates
12
 
13
+ # Create a non-root user with UID 1001 (1000 is taken by 'node' in this image)
14
+ RUN addgroup -S n8n && adduser -S -G n8n -u 1001 n8n
15
 
16
+ # Install n8n globally
17
+ RUN npm install -g n8n
 
18
 
19
+ # Set working directory & data path
20
+ ENV N8N_USER_FOLDER=/home/n8n/.n8n
21
+ RUN mkdir -p /home/n8n/.n8n && chown -R n8n:n8n /home/n8n
 
22
 
23
+ # Switch to non-root user
24
+ USER n8n
25
+ WORKDIR /home/n8n
26
 
27
+ # ── Core n8n settings ──────────────────────
28
+ ENV N8N_PORT=7860
29
+ ENV N8N_PROTOCOL=https
30
+ ENV N8N_HOST=0.0.0.0
31
+ ENV NODE_ENV=production
32
+ ENV NODE_FUNCTION_ALLOW_BUILTIN=*
33
+ ENV NODE_FUNCTION_ALLOW_EXTERNAL=*
34
 
35
+ # ── Fix iframe embed in HF Spaces ──────────
36
+ ENV N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN=true
37
+ ENV EXECUTIONS_PROCESS=main
38
+
39
+ # Expose the port HF Spaces expects
40
+ EXPOSE 7860
41
+
42
+ CMD ["n8n", "start"]