madibaalbert's picture
Update Dockerfile
6f789f9 verified
# ==========================================
# OMNIGROUP - N8N + PUPPETEER + PYTHON VENV
# Spécial Hugging Face Spaces + Persistence Bucket
# Configuration : Node.js Latest + n8n v2.15.1 (Choix utilisateur)
# ==========================================
FROM node:24.15.0-bookworm
USER root
# 1. Configuration Environnement
ENV DEBIAN_FRONTEND=noninteractive \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
N8N_PORT=7860 \
N8N_USER_MANAGEMENT_DISABLED=true \
N8N_USER_FOLDER="/data/.n8n" \
HOME=/home/node \
PYTHON=/usr/bin/python3
# 2. Installation des dépendances système
RUN apt-get update && apt-get install -y --no-install-recommends \
chromium \
ffmpeg \
python3 \
python3-pip \
python3-venv \
python3-dev \
python-is-python3 \
build-essential \
git \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 3. Installation de n8n (Version spécifique choisie par Madiba)
# On force l'installation de la version 2.15.1
RUN npm install -g n8n@2.15.1 --unsafe-perm --loglevel notice
# 4. Configuration des dossiers pour le Bucket HF
RUN mkdir -p /data /home/node/scripts /home/node/venv && \
chown -R node:node /data /home/node
WORKDIR /home/node/scripts
# 5. Préparation de l'environnement Python
RUN python3 -m venv /home/node/venv
ENV PATH="/home/node/venv/bin:$PATH"
# 6. Installation des outils de capture (Puppeteer)
COPY --chown=node:node . /home/node/scripts/
RUN npm init -y && \
npm install puppeteer puppeteer-screen-recorder && \
chown -R node:node /home/node/scripts
# 7. Finalisation
USER node
WORKDIR /home/node
ENV NODE_OPTIONS="--max-old-space-size=16384" \
N8N_LISTEN_ADDRESS=0.0.0.0 \
NODE_FUNCTION_ALLOW_BUILTIN=fs,child_process
EXPOSE 7860
# Démarrage avec persistance des données sur le volume /data
CMD ["sh", "-c", "mkdir -p /data/.n8n && n8n start"]