FROM ubuntu:20.04
#### SET THIS ARGUMENT TO THE DESIRED N8N VERSION ####
ARG N8N_VERSION
RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
#### INSTALLING PRE-REQUISITES AND NODE-18 ####
RUN \
apt-get update
RUN \
apt-get -y install curl git gosu && \
apt-get install build-essential python2 -y && \
cd ~
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get -y install nodejs
#### SETTING CUSTOM USER TO RUN N8N ####
USER \
root
#### IMPORT N8N SOURCE-CODE FOR ASKED VERSION ####
RUN \
mkdir n8n && \
chown -R root ./n8n && \
git clone --depth 1 --branch "n8n@"${N8N_VERSION} https://github.com/n8n-io/n8n n8n
WORKDIR n8n
#### OVERRIDING N8N FILES TO CUSTOMIZED ONES ####
# RUN \
# rm ./packages/cli/src/Logger.ts ./packages/cli/src/Server.ts
# COPY \
# wrapper/packages/cli/src/Logger.ts ./packages/cli/src/Logger.ts
# COPY \
# wrapper/packages/cli/src/Server.ts ./packages/cli/src/Server.ts
#### INSTALL AND ENABLE COREPACK AND ACTIVATE PNPM FOR BUILD MAKING ####
RUN npm install -g [email protected] full-icu
RUN \
npm install -g corepack && \
corepack enable && \
corepack prepare --activate
# Add Datadog tracing library
RUN pnpm add dd-trace -w
#### CREATING N8N BUILD ####
RUN \
npm_config_user=root && \
pnpm install --frozen-lockfile && \
pnpm install && \
pnpm build
ENV \
NODE_ICU_DATA /usr/local/lib/node_modules/full-icu
RUN export NODE_OPTIONS=--max_old_space_size=8192
ARG N8N_BASIC_AUTH_ACTIVE
ENV N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
ARG N8N_DEFAULT_BINARY_DATA_MODE
ENV N8N_DEFAULT_BINARY_DATA_MODE=${N8N_DEFAULT_BINARY_DATA_MODE}
ENV N8N_VERSION=${N8N_VERSION}
ENV NODE_ENV=production
#setting AWS creds in env
ARG AWS_ACCESS_KEY_ID
ENV AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
ARG AWS_SECRET_ACCESS_KEY
ENV AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
ARG AWS_DEFAULT_REGION
ENV AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
#installing aws-cli
RUN \
apt-get update && \
apt-get install unzip && \
apt-get install -y python3-pip
RUN \
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install
#### SETTING DOCKER ENTRYPOINT ####
COPY \
wrapper/docker/docker-entrypoint.sh /docker-entrypoint.sh
RUN \
chmod +x /docker-entrypoint.sh
ENTRYPOINT \
["/docker-entrypoint.sh"]
version: '3.2'
services:
n8n:
container_name: n8n_ent_app
build:
context: .
dockerfile: Dockerfile
args:
- N8N_VERSION=1.22.6
- N8N_BASIC_AUTH_ACTIVE=false
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
# restart: always
command: /docker-entrypoint.sh
ports:
- 5679:5678
Hey @Gouravdev,
What error are you seeing now?
Quick update I have just managed to build the below, So maybe you can start with that.
FROM ubuntu:20.04
#### SET THIS ARGUMENT TO THE DESIRED N8N VERSION ####
ARG N8N_VERSION
RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
#### INSTALLING PRE-REQUISITES AND NODE-18 ####
RUN \
apt update
RUN \
apt-get -y install curl git gosu && \
apt-get install build-essential python2 -y && \
cd ~
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get -y install nodejs
#### SETTING CUSTOM USER TO RUN N8N ####
USER \
root
#### IMPORT N8N SOURCE-CODE FOR ASKED VERSION ####
RUN \
mkdir n8n && \
chown -R root ./n8n && \
git clone --depth 1 --branch "n8n@"${N8N_VERSION} https://github.com/n8n-io/n8n n8n
WORKDIR n8n
#### INSTALL AND ENABLE COREPACK AND ACTIVATE PNPM FOR BUILD MAKING ####
RUN npm install -g [email protected] full-icu
RUN \
npm install -g corepack && \
corepack enable && \
corepack prepare --activate
#### CREATING N8N BUILD ####
RUN \
npm_config_user=root && \
pnpm install --frozen-lockfile && \
pnpm install && \
pnpm build
ENV \
NODE_ICU_DATA /usr/local/lib/node_modules/full-icu
#### SETTING DOCKER ENTRYPOINT ####
#COPY \
# wrapper/docker/docker-entrypoint.sh /docker-entrypoint.sh
#RUN \
# chmod +x /docker-entrypoint.sh
#ENTRYPOINT \
# ["/docker-entrypoint.sh"]
Which OS and version you’re using!!
Hey @Gouravdev,
I am using a MacOS 14.2.1, I have also managed to run the same build on Ubuntu 20.04 on a different machine.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.