n8n / Dockerfile
eienmojiki's picture
Update Dockerfile
c0fe742 verified
FROM buildpack-deps:22.04-curl
ENV DEBIAN_FRONTEND=noninteractive \
TZ=Asia/Ho_Chi_Minh \
PORT=5678 \
USER=koga \
HOME=/home/koga
ARG DB_TYPE
ARG DB_POSTGRESDB_DATABASE
ARG DB_POSTGRESDB_HOST
ARG DB_POSTGRESDB_PORT
ARG DB_POSTGRESDB_USER
ARG DB_POSTGRESDB_PASSWORD
ARG DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED
RUN --mount=type=secret,id=DB_TYPE,mode=0444,required=true \
DB_TYPE=$(cat /run/secrets/DB_TYPE)
RUN --mount=type=secret,id=DB_POSTGRESDB_DATABASE,mode=0444,required=true \
DB_POSTGRESDB_DATABASE=$(cat /run/secrets/DB_POSTGRESDB_DATABASE)
RUN --mount=type=secret,id=DB_POSTGRESDB_HOST,mode=0444,required=true \
DB_POSTGRESDB_HOST=$(cat /run/secrets/DB_POSTGRESDB_HOST)
RUN --mount=type=secret,id=DB_POSTGRESDB_PORT,mode=0444,required=true \
DB_POSTGRESDB_PORT=$(cat /run/secrets/DB_POSTGRESDB_PORT)
RUN --mount=type=secret,id=DB_POSTGRESDB_USER,mode=0444,required=true \
DB_POSTGRESDB_USER=$(cat /run/secrets/DB_POSTGRESDB_USER)
RUN --mount=type=secret,id=DB_POSTGRESDB_PASSWORD,mode=0444,required=true \
DB_POSTGRESDB_PASSWORD=$(cat /run/secrets/DB_POSTGRESDB_PASSWORD)
RUN --mount=type=secret,id=DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED,mode=0444,required=true \
DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=$(cat /run/secrets/DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED)
ENV DB_TYPE=$DB_TYPE \
DB_POSTGRESDB_DATABASE=$DB_POSTGRESDB_DATABASE \
DB_POSTGRESDB_HOST=$DB_POSTGRESDB_HOST \
DB_POSTGRESDB_PORT=$DB_POSTGRESDB_PORT \
DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER \
DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD \
DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=$DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED
USER root
RUN useradd -m -u 1000 koga
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
unzip \
git \
git-lfs \
curl \
sudo \
wget \
ffmpeg \
psmisc \
aria2 \
build-essential \
libnss3-dev \
libgdk-pixbuf2.0-dev \
libgtk-3-dev \
libxss-dev \
zlib1g-dev \
libncurses5-dev \
libssl-dev \
libreadline-dev \
libffi-dev \
libasound2 \
make \
libnss3 \
software-properties-common && \
rm -rf /var/lib/apt/lists/*
RUN curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - && \
apt install nodejs && \
npm install -g configurable-http-proxy
RUN cd /tmp && \
wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz && \
tar -xf Python-3.10.12.tgz && \
cd Python-3.10.12 && \
./configure --enable-optimizations && \
make install && \
cd .. && \
rm -rf Python-3.10.12 Python-3.10.12.tgz
WORKDIR $HOME
RUN sudo npm install n8n -g
RUN chown -R koga: /home
USER koga
EXPOSE $PORT
CMD ["n8n", "start"]