Home About Me

Stopping n8n’s Anonymous Telemetry Requests in Docker

After upgrading to n8n 2.0, the anonymous telemetry requests started looking a bit wrong.

When n8n is deployed with the official Docker command, those telemetry calls do not seem to reach the expected address. Instead, every request is sent to a local port.

If the instance is exposed publicly and accessed through a reverse proxy, the browser console may fill up with errors like these. The good news is that n8n itself still works normally.

analytics.js:1310 GET http://localhost:5678/rest/telemetry/rudderstack/sourceConfig/?p=cdn&v=1.33.0 net::ERR_CONNECTION_REFUSED
xhrModule.js:101  POST http://localhost:5678/rest/telemetry/proxy/v1/track net::ERR_CONNECTION_REFUSED
xhrModule.js:101  POST http://localhost:5678/rest/telemetry/proxy/v1/identify net::ERR_CONNECTION_REFUSED
xhrModule.js:101  POST http://localhost:5678/rest/telemetry/proxy/v1/track net::ERR_CONNECTION_REFUSED
xhrModule.js:101  POST http://localhost:5678/rest/telemetry/proxy/v1/track net::ERR_CONNECTION_REFUSED
xhrModule.js:101  POST http://localhost:5678/rest/telemetry/proxy/v1/page net::ERR_CONNECTION_REFUSED

screenshot

That is what it looks like in the console.

After looking around, one commonly suggested fix is to set ~~N8N_TELEMETRY_ENABLED=false~~, but that does not actually help. The variable is not even listed in the n8n documentation, which makes it a good example of how misleading AI-generated answers can be.

There are two practical ways to handle this: disable diagnostics telemetry directly, or configure the host name correctly. For a privately deployed n8n instance, disabling telemetry is usually the cleaner choice. After all, if it is self-hosted, there is little reason to keep sending usage data out.

Disable anonymous telemetry

Add the N8N_DIAGNOSTICS_ENABLED = false environment variable.

One thing to note: according to the official documentation, disabling anonymous telemetry also disables Ask AI.

For Docker:

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e N8N_DIAGNOSTICS_ENABLED="false" \
 docker.n8n.io/n8nio/n8n

For Docker Compose:

environment:
    N8N_DIAGNOSTICS_ENABLED: false

Configure the host name instead

If you do not want to disable telemetry, another option is to set the host name explicitly by adding the N8N_HOST: domain or IP environment variable.

For Docker:

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e N8N_HOST="www.krjojo.com" \
 docker.n8n.io/n8nio/n8n

For Docker Compose:

environment:
    N8N_HOST: www.krjojo.com