n8n / Dockerfile
Perspicacious's picture
Update Dockerfile
aa30655 verified
FROM node:20-alpine
USER root
# ============================================
# 1. OUTILS SYSTÈME
# ============================================
RUN apk add --no-cache \
ca-certificates openssl bind-tools curl wget bash \
git python3 py3-pip make g++ build-base \
cairo-dev pango-dev jpeg-dev giflib-dev \
postgresql-client ffmpeg yt-dlp \
font-noto font-noto-cjk ttf-freefont ttf-dejavu ttf-liberation
# ============================================
# 2. CHROMIUM
# ============================================
RUN apk add --no-cache \
chromium \
chromium-chromedriver \
nss freetype harfbuzz font-noto-emoji
# ============================================
# 3. N8N + PLAYWRIGHT
# ============================================
RUN npm install -g n8n@latest
# Installer playwright-core globalement
RUN npm install -g playwright-core
# ============================================
# 4. SERVEUR PDF
# ============================================
WORKDIR /app
COPY pdf-server.js /app/pdf-server.js
RUN npm init -y && npm install express playwright-core
# ============================================
# 5. VARIABLES
# ============================================
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
ENV N8N_USER_FOLDER=/data/.n8n
ENV N8N_COMMUNITY_PACKAGES_ENABLED=true
ENV N8N_REINSTALL_MISSING_PACKAGES=true
# ============================================
# 6. PERMISSIONS
# ============================================
RUN mkdir -p /data/.n8n && chmod -R 777 /data/.n8n
# ============================================
# 7. SCRIPT DE DÉMARRAGE
# ============================================
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]