Spaces:
Runtime error
Runtime error
| ############################################################################### | |
| # n8n for Hugging Face Spaces – gzip fully disabled via custom extension | |
| ############################################################################### | |
| FROM docker.n8n.io/n8nio/n8n:latest | |
| ################ Runtime env vars ############################################# | |
| ENV N8N_HOST=0.0.0.0 \ | |
| N8N_PROTOCOL=http \ | |
| DB_TYPE=sqlite \ | |
| DB_SQLITE_DATABASE=/home/node/.n8n/database.sqlite \ | |
| N8N_COMMUNITY_PACKAGES_ENABLED=true \ | |
| # नीचे वाले flag रहने दीजिये – पर अब JS extension भी लगेगा | |
| N8N_DISABLE_PRODUCTION_MAIN_PROCESS_RESPONSE_COMPRESSION=true \ | |
| N8N_DISABLE_PRODUCTION_WEBHOOK_RESPONSE_COMPRESSION=true \ | |
| N8N_BASIC_AUTH_ACTIVE=false \ | |
| N8N_USER_MANAGEMENT_DISABLED=true \ | |
| N8N_LOG_LEVEL=info \ | |
| # ➜ custom extension path | |
| N8N_CUSTOM_EXTENSIONS=/home/node/n8n-custom | |
| ################ Copy custom extension ######################################## | |
| USER node | |
| RUN mkdir -p /home/node/n8n-custom | |
| # JS file repo में जिस path पर है वही copy करें | |
| COPY n8n-custom/disableCompression.js /home/node/n8n-custom/ | |
| ################ Start script ################################################## | |
| USER root | |
| RUN set -e; \ | |
| cat >/usr/local/bin/start.sh <<'SH' && \ | |
| chmod +x /usr/local/bin/start.sh | |
| #!/bin/sh | |
| set -eu | |
| N8N_PORT="${PORT:-7860}" | |
| export N8N_PORT | |
| # ----- build public URL ------------------------------------------------------ | |
| if [ -n "${SPACE_ID:-}" ]; then | |
| SPACE_SLUG=$(printf '%s' "$SPACE_ID" | tr '/_' '-') | |
| APP_URL="https://${SPACE_SLUG}.hf.space" | |
| elif [ -n "${SPACE_HOST:-}" ]; then | |
| APP_URL="https://${SPACE_HOST}" | |
| elif [ -n "${HOSTNAME:-}" ] && echo "$HOSTNAME" | grep -q '\.hf\.space'; then | |
| APP_URL="https://${HOSTNAME}" | |
| else | |
| APP_URL="http://localhost:${N8N_PORT}" | |
| fi | |
| # NOTE: trailing slash हटाया है ताकि double-slash न बने | |
| export N8N_BASE_URL="${APP_URL}" | |
| export WEBHOOK_URL="${APP_URL}" | |
| export N8N_EDITOR_BASE_URL="${APP_URL}" | |
| echo "🚀 n8n starting on ${N8N_PORT} | Public URL: ${APP_URL}" | |
| exec n8n start | |
| SH | |
| USER node | |
| EXPOSE 7860 | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=45s --retries=3 \ | |
| CMD sh -c 'curl -f http://localhost:${PORT:-7860}/healthz || exit 1' | |
| ENTRYPOINT ["tini", "--"] | |
| CMD ["start.sh"] |