Perspicacious commited on
Commit
842e25b
·
verified ·
1 Parent(s): e4b0d80

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -41
Dockerfile CHANGED
@@ -1,36 +1,7 @@
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 \
@@ -45,19 +16,18 @@ RUN apk add --no-cache \
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@2.2.3
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"]
 
 
 
1
+ FROM node:20-alpine
2
 
3
+ # 1. Installation des outils système nécessaires
4
  USER root
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  RUN apk add --no-cache \
6
  git \
7
  python3 \
 
16
  ffmpeg \
17
  yt-dlp
18
 
19
+ # 2. Configuration de l'environnement pour Puppeteer (si tu l'utilises plus tard)
20
  ENV PUPPETEER_SKIP_DOWNLOAD=true
21
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
22
 
23
+ # 3. Installation de la DERNIÈRE version de n8n (Mise à jour automatique)
24
+ RUN npm install -g n8n@latest
 
 
 
 
25
 
26
+ # 4. Création des dossiers et permissions
27
  WORKDIR /data
28
+ RUN mkdir -p /root/.n8n /home/node/.n8n && chmod -R 777 /root/.n8n /home/node/.n8n
29
 
30
+ # 5. LE DÉMARRAGE INTELLIGENT
31
+ # Cette commande supprime les variables individuelles de la mémoire du container
32
+ # juste avant de lancer n8n. Cela force n8n à utiliser l'URL de connexion.
33
+ CMD ["/bin/sh", "-c", "unset DB_POSTGRESDB_HOST DB_POSTGRESDB_USER DB_POSTGRESDB_PASSWORD DB_POSTGRESDB_DATABASE DB_POSTGRESDB_PORT && n8n start"]