| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:8ce1caf246e7c778bca84c516d02fd4e83766bb2c530a0fffa8a351b560a2728 in / |
| CMD ["/bin/bash"] |
| ARG NODE_VERSION=22 |
| ARG CACHE_BUST= |
| ARG N8N_VERSION=2.19.5 |
| SHELL [/bin/bash -c] |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get update && apt-get install apt-utils -y && apt-get install git openssh-server graphicsmagick tini tzdata ca-certificates libc6 jq curl chromium libnss3 libnss3-tools libfreetype6 libfreetype-dev libharfbuzz-bin ca-certificates fonts-freefont-ttf udev fonts-liberation fonts-noto-color-emoji libvips libvips-dev libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev librsvg2-dev build-essential libxcursor1 libgtk-3-0t64 openssl nano wget apt-transport-https software-properties-common gss-ntlmssp mp3splt python3-full pipx python3-pip iputils-ping wakeonlan -y # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c pipx install commonforms # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c wget https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell_7.6.1-1.deb_amd64.deb # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c dpkg -i powershell_7.6.1-1.deb_amd64.deb # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get install -f # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c rm powershell_7.6.1-1.deb_amd64.deb # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp && mv yt-dlp /usr/bin/ && chmod +x /usr/bin/yt-dlp # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/bin/youtube-dl && chmod a+rx /usr/bin/youtube-dl # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c wget https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz && mv ffmpeg*.tar.xz ffmpeg.tar.xz && tar xf ffmpeg.tar.xz && mv ./ffmpeg*/bin/* /usr/bin && chmod +x ff* && rm -R ff* # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get update && apt-get install -y ./packages-microsoft-prod.deb || (apt-get install -f -y && dpkg -i ./packages-microsoft-prod.deb) # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c rm packages-microsoft-prod.deb # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get update # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c ACCEPT_EULA=Y apt-get install -y msodbcsql18 # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c ACCEPT_EULA=Y apt-get install -y mssql-tools18 # buildkit |
| ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/mssql-tools18/bin |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get install -y unixodbc-dev # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c bash nodesource_setup.sh # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c apt-get update && apt-get install -y nodejs powershell # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c npm root -g # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c npm install -g corepack@0.31 full-icu@1.5.0 powershell sharp # buildkit |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c adduser node # buildkit |
| LABEL org.opencontainers.image.title=n8n |
| LABEL org.opencontainers.image.description=Workflow Automation Tool |
| LABEL org.opencontainers.image.source=https://github.com/n8n-io/n8n |
| LABEL org.opencontainers.image.url=https://n8n.io |
| LABEL org.opencontainers.image.version=2.19.5 |
| ENV NODE_ENV=production |
| ENV N8N_RELEASE_TYPE=stable |
| RUN |3 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 /bin/bash -c echo "Cache bust value: ${CACHE_BUST} and $CACHE_BUST and ${N8N_VERSION} with $N8N_VERSION" && set -eux; npm install -g --omit=dev n8n@${N8N_VERSION} --ignore-scripts && npm rebuild --prefix=/usr/lib/node_modules/n8n sqlite3 # buildkit |
| ARG TARGETPLATFORM=linux/amd64 |
| ARG LAUNCHER_VERSION=1.1.1 |
| COPY n8n-task-runners.json /etc/n8n-task-runners.json # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c if [[ "$TARGETPLATFORM" = "linux/amd64" ]]; then export ARCH_NAME="amd64"; elif [[ "$TARGETPLATFORM" = "linux/arm64" ]]; then export ARCH_NAME="arm64"; fi; mkdir /launcher-temp && cd /launcher-temp && wget https://github.com/n8n-io/task-runner-launcher/releases/download/1.1.1/task-runner-launcher-1.1.1-linux-amd64.tar.gz && wget https://github.com/n8n-io/task-runner-launcher/releases/download/1.1.1/task-runner-launcher-1.1.1-linux-amd64.tar.gz.sha256 && echo "$(cat task-runner-launcher-1.1.1-linux-amd64.tar.gz.sha256) task-runner-launcher-1.1.1-linux-amd64.tar.gz" > checksum.sha256 && sha256sum -c checksum.sha256 && tar xvf task-runner-launcher-1.1.1-linux-amd64.tar.gz --directory=/usr/bin && cd - && rm -r /launcher-temp # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c npm install -g whisper-node # buildkit |
| ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser N8N_DEFAULT_BINARY_DATA_MODE=filesystem |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c mkdir -p /opt/n8n-community-nodes && cd /opt/n8n-community-nodes && npm init -y && npm install n8n-nodes-puppeteer n8n-nodes-playwright && npx playwright install-deps chromium && npx playwright install chromium && mkdir -p /home/node/.cache && mv /root/.cache/ms-playwright /home/node/.cache/ms-playwright && rm -rf /opt/n8n-community-nodes/node_modules/n8n-nodes-playwright/dist/nodes/browsers && ln -s /home/node/.cache/ms-playwright /opt/n8n-community-nodes/node_modules/n8n-nodes-playwright/dist/nodes/browsers # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c sed -i "s/isAPIDisabled() {/isAPIDisabled() {return false;/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/isLicensed(feature) {/isLicensed(feature) {return true;/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/async renew() {/async renew() {return;/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/Community/Enterprise/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/getTeamProjectLimit() {/getTeamProjectLimit() {return 100;/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/getWorkflowHistoryPruneLimit() {/getWorkflowHistoryPruneLimit() {return -1;/g" /usr/lib/node_modules/n8n/dist/license.js && sed -i "s/this.licenseState.getMaxTeamProjects()/100/g" /usr/lib/node_modules/n8n/dist/services/project.service.ee.js # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c sed -i "s/showNonProdBanner: /showNonProdBanner: false,t: /g" /usr/lib/node_modules/n8n/dist/services/frontend.service.js # buildkit |
| COPY docker-entrypoint.sh / # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod +x /docker-entrypoint.sh && chown node:node /docker-entrypoint.sh # buildkit |
| COPY backup.sh /home/node/backup.sh # buildkit |
| COPY workflowimport.sh /home/node/workflowimport.sh # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod 755 /home/node/backup.sh # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod +x /home/node/backup.sh # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod +x /home/node/workflowimport.sh # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod -R 777 /home/node # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chown -R node:node /home/node # buildkit |
| USER node |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c mkdir ~/yt-dlp && mkdir ~/media && mkdir ~/sqlback && mkdir ~/backups # buildkit |
| COPY yt-dlp.conf /home/node/yt-dlp.conf # buildkit |
| COPY export_all_tables.sql /home/node/export_all_tables.sql # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod 777 ~/sqlback # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod 777 ~/backups # buildkit |
| RUN |5 NODE_VERSION=22 CACHE_BUST= N8N_VERSION=2.19.5 TARGETPLATFORM=linux/amd64 LAUNCHER_VERSION=1.1.1 /bin/bash -c chmod 777 ~/media # buildkit |
| ENV SHELL=/bin/sh |
| EXPOSE [5678/tcp] |
| EXPOSE [10000/tcp] |
| ENTRYPOINT ["/docker-entrypoint.sh"] |