File size: 1,598 Bytes
e110d9d 42a7d7b e110d9d fe4dc91 c45f3dd e110d9d 4364654 e110d9d 82a08ca e110d9d 4364654 e110d9d 42a7d7b e110d9d 928c07f b47e0f4 c45f3dd 6e18e02 b47e0f4 e110d9d 5636339 e110d9d 5636339 e110d9d b56c910 320e776 e110d9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | FROM node:22-slim
ARG N8N_VERSION=latest
ENV DEBIAN_FRONTEND=noninteractive \
N8N_PORT=5678 \
HF_HUB_DISABLE_PROGRESS_BARS=1 \
PYTHONUNBUFFERED=1 \
PIP_ROOT_USER_ACTION=ignore
RUN apt-get update && apt-get install -y -q --no-install-recommends \
ca-certificates \
curl \
git \
jq \
python3 \
python3-pip \
python3-venv \
sqlite3 \
tini \
&& pip3 install -q --no-cache-dir --break-system-packages huggingface_hub \
&& npm install -g --loglevel=error 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 cloudflare-proxy.js /opt/cloudflare-proxy.js
COPY --chown=node:node cloudflare-proxy-setup.py /home/node/app/cloudflare-proxy-setup.py
# Set NODE_OPTIONS after preload scripts are copied
ENV NODE_OPTIONS="--require /opt/cloudflare-proxy.js"
COPY --chown=node:node n8n-sync.py /home/node/app/n8n-sync.py
COPY --chown=node:node cloudflare-keepalive-setup.py /home/node/app/cloudflare-keepalive-setup.py
COPY --chown=node:node start.sh /home/node/app/start.sh
RUN chmod +x /home/node/app/start.sh /home/node/app/cloudflare-keepalive-setup.py /home/node/app/cloudflare-proxy-setup.py
USER node
EXPOSE 7861
HEALTHCHECK --interval=30s --timeout=5s --start-period=90s \
CMD curl -fsS http://localhost:7861/health || exit 1
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/home/node/app/start.sh"]
|