Testing / Dockerfile
legends810's picture
Update Dockerfile
e25c6f3 verified
# 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"]