File size: 1,826 Bytes
e110d9d 42a7d7b e110d9d fe4dc91 c45f3dd e110d9d 4364654 e110d9d 82a08ca e110d9d c2b0f3c 4364654 e110d9d 42a7d7b e110d9d 928c07f b47e0f4 c45f3dd 6e18e02 b47e0f4 e110d9d 5636339 c2b0f3c e110d9d 5636339 e110d9d 1cac4e8 e110d9d b56c910 1cac4e8 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 53 54 55 | 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 httpx \
&& 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 gemini_web2api.py /home/node/app/gemini_web2api.py
COPY --chown=node:node keep_alive_server.py /home/node/app/keep_alive_server.py
COPY --chown=node:node dashboard.html /home/node/app/dashboard.html
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 7860
HEALTHCHECK --interval=30s --timeout=5s --start-period=90s \
CMD curl -fsS http://localhost:7860/health || exit 1
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/home/node/app/start.sh"]
|