# syntax=docker/dockerfile:1.4 ARG CACHEBUST=2024-08-05 FROM docker.n8n.io/n8nio/n8n:latest ENV N8N_HOST=0.0.0.0 \ N8N_PROTOCOL=http \ N8N_LOG_LEVEL=debug \ N8N_DISABLE_PRODUCTION_MAIN_PROCESS_RESPONSE_COMPRESSION=true \ N8N_DISABLE_PRODUCTION_WEBHOOK_RESPONSE_COMPRESSION=true \ N8N_RUNNERS_ENABLED=true \ N8N_VERSION=nightly # ── gzip stub (silent version) ────────────────────────────────────────────── USER node RUN cat >/home/node/disable-gzip-preload.js <<'JS' const Module = require('module'); const real = Module._load; Module._load = (r,p,m) => r === 'compression' ? () => (_req, _res, next) => next() : real(r,p,m); // कोई console.log नहीं - silent रहेगा JS # ── start script with conditional preload ─────────────────────────────────── USER root RUN cat >/usr/local/bin/start.sh <<'SH' && chmod +x /usr/local/bin/start.sh #!/usr/bin/env sh set -eu export N8N_PORT="${PORT:-7860}" if [ -n "${SPACE_ID:-}" ]; then APP_URL="https://$(echo "$SPACE_ID" | tr '/_' '-').hf.space" else APP_URL="http://localhost:${N8N_PORT}" fi export N8N_BASE_URL="$APP_URL" export WEBHOOK_URL="$APP_URL" export N8N_EDITOR_BASE_URL="$APP_URL" echo "🚀 n8n running on $N8N_PORT → $APP_URL" # सिर्फ main n8n process में gzip disable करें export NODE_OPTIONS="--require=/home/node/disable-gzip-preload.js" exec n8n start SH EXPOSE 7860 ENTRYPOINT ["tini","--"] CMD ["start.sh"]