| FROM node:24-bookworm-slim |
|
|
| USER root |
|
|
| |
| ARG N8N_PATH=/usr/local/lib/node_modules/n8n |
| ARG BASE_PATH=/root/.n8n |
| ARG DATABASE_PATH=$BASE_PATH/database |
| ARG CONFIG_PATH=$BASE_PATH/config |
| ARG WORKFLOWS_PATH=$BASE_PATH/workflows |
| ARG LOGS_PATH=$BASE_PATH/logs |
| ARG allowVulnerableTags=true |
|
|
| |
| ENV N8N_DIAGNOSTICS_ENABLED=false |
| ENV N8N_VERSION_NOTIFICATIONS_ENABLED=false |
| ENV N8N_TEMPLATES_ENABLED=false |
| ENV N8N_ENDPOINT_WEBHOOK=io |
| ENV N8N_ENDPOINT_WEBHOOK_TEST=io-in |
| ENV N8N_ENDPOINT_WEBHOOK_WAIT=io-call |
| ENV N8N_USER_FOLDER=/home/node/.n8n |
| ENV N8N_CONFIG_FILES=/home/node/.n8n/settings.json |
| ENV NODE_FUNCTION_ALLOW_BUILTIN=* |
| ENV NODE_FUNCTION_ALLOW_EXTERNAL=* |
| ENV N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/nodes |
| ENV NODE_ENV=production |
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| |
| EXPOSE 7860 5678 5679 |
|
|
| |
| RUN apt-get update \ |
| && apt-get install -y --no-install-recommends \ |
| ca-certificates \ |
| git \ |
| curl \ |
| python3 \ |
| build-essential \ |
| g++ \ |
| libcairo2-dev \ |
| libpango1.0-dev \ |
| libcairo2 \ |
| libpango-1.0-0 \ |
| libpangocairo-1.0-0 \ |
| python3-pip \ |
| postgresql-client \ |
| ffmpeg \ |
| libnss3 \ |
| chromium \ |
| libatk-bridge2.0-0 \ |
| libx11-xcb1 \ |
| libxcomposite1 \ |
| libxdamage1 \ |
| libxrandr2 \ |
| libgbm1 \ |
| libasound2 \ |
| libxshmfence1 \ |
| libgtk-3-0 \ |
| libenchant-2-2 \ |
| libsecret-1-0 \ |
| libhyphen0 \ |
| libmanette-0.2-0 \ |
| libunwind8 \ |
| libdw1 \ |
| libegl1 \ |
| libgudev-1.0-0 \ |
| libgles2 \ |
| yt-dlp \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN mkdir -p /home/node/.n8n/nodes \ |
| && touch $N8N_CONFIG_FILES \ |
| && printf '{}' > $N8N_CONFIG_FILES \ |
| && chmod 600 $N8N_CONFIG_FILES \ |
| && chown -R node:node /home/node/.n8n || true |
|
|
| |
| RUN npm install -g --unsafe-perm n8n@latest |
| RUN npm install -g pnpm |
|
|
| |
| RUN cd /home/node/.n8n/nodes \ |
| && npm init -y \ |
| && npm --unsafe-perm install --no-audit --no-fund \ |
| @devlikeapro/n8n-nodes-waha \ |
| @aldinokemal2104/n8n-nodes-gowa \ |
| n8n-nodes-cheerio-html-parser \ |
| n8n-nodes-scrapeninja \ |
| n8n-nodes-puppeteer \ |
| n8n-nodes-playwright-session \ |
| n8n-nodes-evolution-api-english \ |
| n8n-nodes-chatery-whatsapp \ |
| && pnpm rebuild n8n-nodes-playwright-session \ |
| && chown -R node:node /home/node/.n8n |
| |
| |
| USER node |
| WORKDIR /home/node |
|
|
| |
| RUN npx playwright install \ |
| && npx puppeteer browsers install chrome |
|
|
| |
| CMD ["n8n", "start"] |