Hugging8N / Dockerfile
somratpro's picture
refactor: optimize startup, improve security, and simplify n8n configuration for v2 compatibility
320e776
raw
history blame
1.19 kB
FROM node:22-slim
ARG N8N_VERSION=latest
ENV DEBIAN_FRONTEND=noninteractive \
N8N_PORT=5678 \
HF_HUB_DISABLE_PROGRESS_BARS=1 \
PYTHONUNBUFFERED=1
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
jq \
python3 \
python3-pip \
sqlite3 \
tini \
&& pip3 install --no-cache-dir --break-system-packages huggingface_hub \
&& npm install -g n8n@${N8N_VERSION} \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /home/node/app /home/node/.n8n && \
chmod 700 /home/node/.n8n && \
chown -R node:node /home/node
WORKDIR /home/node/app
COPY --chown=node:node health-server.js /home/node/app/health-server.js
COPY --chown=node:node n8n-sync.py /home/node/app/n8n-sync.py
COPY --chown=node:node setup-uptimerobot.sh /home/node/app/setup-uptimerobot.sh
COPY --chown=node:node start.sh /home/node/app/start.sh
RUN chmod +x /home/node/app/start.sh /home/node/app/setup-uptimerobot.sh
USER node
EXPOSE 7861
HEALTHCHECK --interval=30s --timeout=5s --start-period=60s \
CMD curl -f http://localhost:7861/health || exit 1
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/home/node/app/start.sh"]