med / Dockerfile
ezzygame's picture
Update Dockerfile
f30e76d verified
FROM node:22-bookworm-slim
USER root
ARG N8N_VERSION=2.9.4
# Install dependencies using Debian's apt-get
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
python3 \
make \
g++ \
build-essential \
libcairo2-dev \
libpango1.0-dev \
chromium \
postgresql-client \
tzdata \
gosu \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
ENV N8N_USER_FOLDER=/data/.n8n
ENV N8N_LISTEN_ADDRESS=0.0.0.0
ENV N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
ENV NODE_FUNCTION_ALLOW_BUILTIN=*
ENV NODE_FUNCTION_ALLOW_EXTERNAL=*
ENV NODE_OPTIONS=--dns-result-order=ipv4first
RUN npm install -g "n8n@${N8N_VERSION}" \
&& npm cache clean --force
RUN mkdir -p /data/.n8n \
&& chown -R node:node /data
WORKDIR /data
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["sh", "-lc", "export N8N_PORT=${PORT:-${N8N_PORT:-5678}}; n8n start"]