Spaces:
Running
Running
Update Dockerfile
Browse files- Dockerfile +22 -58
Dockerfile
CHANGED
|
@@ -3,94 +3,58 @@ FROM node:20-alpine
|
|
| 3 |
USER root
|
| 4 |
|
| 5 |
# ============================================
|
| 6 |
-
# 1.
|
| 7 |
-
# ============================================
|
| 8 |
-
RUN apk add --no-cache \
|
| 9 |
-
ca-certificates \
|
| 10 |
-
openssl \
|
| 11 |
-
bind-tools \
|
| 12 |
-
curl \
|
| 13 |
-
wget \
|
| 14 |
-
bash
|
| 15 |
-
|
| 16 |
-
RUN update-ca-certificates
|
| 17 |
-
|
| 18 |
-
# ============================================
|
| 19 |
-
# 2. OUTILS SYSTÈME DE BASE
|
| 20 |
# ============================================
|
| 21 |
RUN apk add --no-cache \
|
|
|
|
| 22 |
git python3 py3-pip make g++ build-base \
|
| 23 |
cairo-dev pango-dev jpeg-dev giflib-dev \
|
| 24 |
-
postgresql-client ffmpeg yt-dlp
|
| 25 |
-
|
| 26 |
-
# ============================================
|
| 27 |
-
# 3. PDF (weasyprint pour livres KDP)
|
| 28 |
-
# ============================================
|
| 29 |
-
RUN apk add --no-cache \
|
| 30 |
-
pandoc \
|
| 31 |
-
ghostscript \
|
| 32 |
-
poppler-utils \
|
| 33 |
-
libreoffice-writer \
|
| 34 |
-
libreoffice-calc \
|
| 35 |
-
py3-weasyprint \
|
| 36 |
-
fontconfig \
|
| 37 |
-
ttf-dejavu \
|
| 38 |
-
ttf-liberation \
|
| 39 |
-
font-noto
|
| 40 |
|
| 41 |
# ============================================
|
| 42 |
-
#
|
| 43 |
# ============================================
|
| 44 |
RUN apk add --no-cache \
|
| 45 |
chromium \
|
| 46 |
chromium-chromedriver \
|
| 47 |
-
nss
|
| 48 |
-
freetype \
|
| 49 |
-
harfbuzz \
|
| 50 |
-
ttf-freefont \
|
| 51 |
-
font-noto-emoji
|
| 52 |
|
| 53 |
# ============================================
|
| 54 |
-
#
|
| 55 |
# ============================================
|
| 56 |
RUN npm install -g n8n@latest
|
| 57 |
|
|
|
|
|
|
|
|
|
|
| 58 |
# ============================================
|
| 59 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
# ============================================
|
| 61 |
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
| 62 |
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
| 63 |
-
ENV CHROME_BIN=/usr/bin/chromium-browser
|
| 64 |
ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
| 65 |
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
| 66 |
-
|
| 67 |
ENV N8N_USER_FOLDER=/data/.n8n
|
| 68 |
ENV N8N_COMMUNITY_PACKAGES_ENABLED=true
|
| 69 |
ENV N8N_REINSTALL_MISSING_PACKAGES=true
|
| 70 |
|
| 71 |
# ============================================
|
| 72 |
-
#
|
| 73 |
# ============================================
|
| 74 |
-
WORKDIR /data
|
| 75 |
RUN mkdir -p /data/.n8n && chmod -R 777 /data/.n8n
|
| 76 |
|
| 77 |
# ============================================
|
| 78 |
-
#
|
| 79 |
# ============================================
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
echo 'chmod -R 777 /data/.n8n' >> /start.sh && \
|
| 83 |
-
echo '' >> /start.sh && \
|
| 84 |
-
echo '# Fix pour n8n-nodes-playwright' >> /start.sh && \
|
| 85 |
-
echo 'PLAYWRIGHT_DIR="/data/.n8n/.n8n/nodes/node_modules/n8n-nodes-playwright/dist/nodes/browsers"' >> /start.sh && \
|
| 86 |
-
echo 'if [ -d "$PLAYWRIGHT_DIR" ]; then' >> /start.sh && \
|
| 87 |
-
echo ' for dir in $PLAYWRIGHT_DIR/chromium-*; do' >> /start.sh && \
|
| 88 |
-
echo ' mkdir -p "$dir/chrome-linux"' >> /start.sh && \
|
| 89 |
-
echo ' ln -sf /usr/bin/chromium-browser "$dir/chrome-linux/chrome" 2>/dev/null || true' >> /start.sh && \
|
| 90 |
-
echo ' done' >> /start.sh && \
|
| 91 |
-
echo 'fi' >> /start.sh && \
|
| 92 |
-
echo '' >> /start.sh && \
|
| 93 |
-
echo 'exec n8n start' >> /start.sh && \
|
| 94 |
-
chmod +x /start.sh
|
| 95 |
|
| 96 |
CMD ["/start.sh"]
|
|
|
|
| 3 |
USER root
|
| 4 |
|
| 5 |
# ============================================
|
| 6 |
+
# 1. OUTILS SYSTÈME
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
# ============================================
|
| 8 |
RUN apk add --no-cache \
|
| 9 |
+
ca-certificates openssl bind-tools curl wget bash \
|
| 10 |
git python3 py3-pip make g++ build-base \
|
| 11 |
cairo-dev pango-dev jpeg-dev giflib-dev \
|
| 12 |
+
postgresql-client ffmpeg yt-dlp \
|
| 13 |
+
font-noto font-noto-cjk ttf-freefont ttf-dejavu ttf-liberation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
# ============================================
|
| 16 |
+
# 2. CHROMIUM
|
| 17 |
# ============================================
|
| 18 |
RUN apk add --no-cache \
|
| 19 |
chromium \
|
| 20 |
chromium-chromedriver \
|
| 21 |
+
nss freetype harfbuzz font-noto-emoji
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
# ============================================
|
| 24 |
+
# 3. N8N + PLAYWRIGHT
|
| 25 |
# ============================================
|
| 26 |
RUN npm install -g n8n@latest
|
| 27 |
|
| 28 |
+
# Installer playwright-core globalement
|
| 29 |
+
RUN npm install -g playwright-core
|
| 30 |
+
|
| 31 |
# ============================================
|
| 32 |
+
# 4. SERVEUR PDF
|
| 33 |
+
# ============================================
|
| 34 |
+
WORKDIR /app
|
| 35 |
+
COPY pdf-server.js /app/pdf-server.js
|
| 36 |
+
RUN npm init -y && npm install express playwright-core
|
| 37 |
+
|
| 38 |
+
# ============================================
|
| 39 |
+
# 5. VARIABLES
|
| 40 |
# ============================================
|
| 41 |
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
| 42 |
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
|
|
|
| 43 |
ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
| 44 |
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
|
|
|
| 45 |
ENV N8N_USER_FOLDER=/data/.n8n
|
| 46 |
ENV N8N_COMMUNITY_PACKAGES_ENABLED=true
|
| 47 |
ENV N8N_REINSTALL_MISSING_PACKAGES=true
|
| 48 |
|
| 49 |
# ============================================
|
| 50 |
+
# 6. PERMISSIONS
|
| 51 |
# ============================================
|
|
|
|
| 52 |
RUN mkdir -p /data/.n8n && chmod -R 777 /data/.n8n
|
| 53 |
|
| 54 |
# ============================================
|
| 55 |
+
# 7. SCRIPT DE DÉMARRAGE
|
| 56 |
# ============================================
|
| 57 |
+
COPY start.sh /start.sh
|
| 58 |
+
RUN chmod +x /start.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
|
| 60 |
CMD ["/start.sh"]
|