| |
| |
| |
| |
| |
|
|
| FROM node:24.15.0-bookworm |
|
|
| USER root |
|
|
| |
| 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 |
|
|
| |
| 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/* |
|
|
| |
| |
| RUN npm install -g n8n@2.15.1 --unsafe-perm --loglevel notice |
|
|
| |
| RUN mkdir -p /data /home/node/scripts /home/node/venv && \ |
| chown -R node:node /data /home/node |
|
|
| WORKDIR /home/node/scripts |
|
|
| |
| RUN python3 -m venv /home/node/venv |
| ENV PATH="/home/node/venv/bin:$PATH" |
|
|
| |
| COPY --chown=node:node . /home/node/scripts/ |
| RUN npm init -y && \ |
| npm install puppeteer puppeteer-screen-recorder && \ |
| chown -R node:node /home/node/scripts |
|
|
| |
| 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 |
|
|
| |
| CMD ["sh", "-c", "mkdir -p /data/.n8n && n8n start"] |