n8n / Dockerfile
infinityonline's picture
Update Dockerfile
38c4358 verified
FROM node:20-slim
# ── Network ──────────────────────────────────────────────
ENV N8N_HOST=0.0.0.0
ENV N8N_PORT=7860
ENV N8N_PROTOCOL=https
ENV NODE_ENV=production
# ── Proxy Fix (Hugging Face reverse proxy) ────────────────
ENV N8N_PROXY_HOPS=1
# ── Timezone ──────────────────────────────────────────────
ENV GENERIC_TIMEZONE=Africa/Cairo
# ── Auth ──────────────────────────────────────────────────
ENV N8N_BASIC_AUTH_ACTIVE=true
# ── Data folder ───────────────────────────────────────────
ENV N8N_USER_FOLDER=/home/node/.n8n
# ── Disable noise ─────────────────────────────────────────
ENV N8N_DIAGNOSTICS_ENABLED=false
ENV N8N_VERSION_NOTIFICATIONS_ENABLED=false
ENV N8N_HIRING_BANNER_ENABLED=false
ENV N8N_LOG_LEVEL=warn
ENV N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false
# ── Executions ────────────────────────────────────────────
ENV EXECUTIONS_DATA_SAVE_ON_ERROR=all
ENV EXECUTIONS_DATA_SAVE_ON_SUCCESS=all
# ── Install deps ──────────────────────────────────────────
RUN apt-get update -qq && apt-get install -y --no-install-recommends \
ca-certificates curl \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# ── Install n8n ───────────────────────────────────────────
RUN npm install -g n8n --loglevel=error
# ── Prepare data folder ──────────────────────────────────
# node:20-slim already has user "node" (uid 1000) — no useradd needed
RUN mkdir -p /home/node/.n8n && chown -R node:node /home/node
USER node
WORKDIR /home/node
EXPOSE 7860
CMD ["n8n", "start"]