Alirezamp commited on
Commit
3d4d1e4
·
verified ·
1 Parent(s): 8b7a01d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +56 -14
Dockerfile CHANGED
@@ -1,21 +1,63 @@
1
- ARG N8N_VERSION=stable
2
 
3
- FROM docker.n8n.io/n8nio/n8n:$N8N_VERSION
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
- LABEL maintainer="alireza_mp <jackpoor2@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
+ 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
8
+ ARG DATABASE_PATH=$BASE_PATH/database
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_RUNNERS_ENABLED=true
14
+ ARG allowVulnerableTags=true
15
+ ARG N8N_HOST=$N8N_HOST
16
+ ARG N8N_PORT=$N8N_PORT
17
+ ARG N8N_PROTOCOL=https
18
+ ARG N8N_EDITOR_BASE_URL=$N8N_EDITOR_BASE_URL
19
+ ARG WEBHOOK_URL=$WEBHOOK_URL
20
+ ARG GENERIC_TIMEZONE=$GENERIC_TIMEZONE
21
+ ARG TZ=$TZ
22
+ ARG N8N_ENCRYPTION_KEY=$N8N_ENCRYPTION_KEY
23
+ ARG DB_TYPE=$DB_TYPE
24
+ ARG DB_POSTGRESDB_SCHEMA=$DB_POSTGRESDB_SCHEMA
25
+ ARG DB_POSTGRESDB_HOST=$DB_POSTGRESDB_HOST
26
+ ARG DB_POSTGRESDB_DATABASE=$DB_POSTGRESDB_DATABASE
27
+ ARG DB_POSTGRESDB_PORT=$DB_POSTGRESDB_PORT
28
+ ARG DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER
29
+ ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
30
+ ARG NODE_FUNCTION_ALLOW_BUILTIN=*
31
+ ARG NODE_FUNCTION_ALLOW_EXTERNAL=*
32
 
33
+ # Install system dependencies
34
+ RUN apk add --no-cache \
35
+ git \
36
+ python3 \
37
+ py3-pip \
38
+ make \
39
+ g++ \
40
+ build-base \
41
+ cairo-dev \
42
+ pango-dev \
43
+ chromium \
44
+ postgresql-client \
45
+ ffmpeg \
46
+ yt-dlp
47
 
48
+ # Set environment variables
49
+ ENV PUPPETEER_SKIP_DOWNLOAD=true
50
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
51
 
52
+ # Install n8n globally
53
+ RUN npm install -g n8n@latest
 
 
54
 
55
+ # Create necessary directories (<<<<< this is the line that was modified)
56
+ RUN mkdir -p $BASE_PATH \
57
+ && chmod -R 777 $BASE_PATH
58
 
59
+ # Set working directory
60
+ WORKDIR /data
61
 
62
+ # Start n8n
63
+ CMD ["n8n", "start"]