To disable telemetry in n8n, set the environment variable N8N_DIAGNOSTICS_ENABLED=false in your .env file or docker-compose.yml and restart n8n. This stops n8n from sending anonymous usage statistics to its servers. You can also disable specific telemetry features like frontend diagnostics and workflow statistics independently for more granular control.
Disabling Usage Telemetry and Diagnostics in Self-Hosted n8n
Self-hosted n8n sends anonymous usage telemetry to help the n8n team improve the product. This includes data like which nodes are used, execution counts, and error rates — but never workflow data, credentials, or personal information. Some organizations require all telemetry to be disabled for compliance, air-gapped environments, or privacy policies. This tutorial shows you how to turn off telemetry completely or selectively.
Prerequisites
- A self-hosted n8n instance
- Access to environment variables or docker-compose.yml
- Permission to restart the n8n process
Step-by-step guide
Understand what n8n telemetry collects
Understand what n8n telemetry collects
Before disabling telemetry, understand what is collected. n8n sends anonymous diagnostics including: which nodes and triggers are used (by type, not content), execution counts and success rates, n8n version and Node.js version, operating system type, and error types (without error details). It does not collect workflow content, credentials, API keys, personal data, or any data processed by your workflows. This information helps the n8n team prioritize bug fixes and feature development. If your organization allows anonymous analytics, keeping it enabled helps improve the product.
Expected result: You understand what telemetry data n8n collects and can make an informed decision about disabling it.
Set N8N_DIAGNOSTICS_ENABLED to false
Set N8N_DIAGNOSTICS_ENABLED to false
The primary environment variable to disable all telemetry is N8N_DIAGNOSTICS_ENABLED. Set it to false in your environment configuration. For Docker deployments, add it to the environment section of your docker-compose.yml. For npm-based installations, add it to your .env file. For systemd services, add it to the service's Environment directive. This single setting disables all diagnostic data collection.
1# docker-compose.yml2services:3 n8n:4 image: docker.n8n.io/n8nio/n8n5 environment:6 - N8N_DIAGNOSTICS_ENABLED=false7 - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}8 volumes:9 - n8n_data:/home/node/.n8n10 ports:11 - '5678:5678'1213# .env file (for npm installations)14N8N_DIAGNOSTICS_ENABLED=false1516# systemd service override17# /etc/systemd/system/n8n.service.d/override.conf18# [Service]19# Environment=N8N_DIAGNOSTICS_ENABLED=falseExpected result: The environment variable is configured and ready to take effect after restart.
Disable additional telemetry settings for complete coverage
Disable additional telemetry settings for complete coverage
Beyond the main diagnostics toggle, n8n has additional telemetry-related settings you may want to disable for complete coverage. N8N_DIAGNOSTICS_POSTHOG_API_KEY can be cleared to prevent PostHog event tracking. The external telemetry consent can also be managed through the UI on first setup. For air-gapped environments where n8n cannot reach external servers at all, blocking outgoing connections to telemetry endpoints at the firewall level provides an additional layer of assurance.
1# Complete telemetry disable in docker-compose.yml2environment:3 - N8N_DIAGNOSTICS_ENABLED=false4 - N8N_VERSION_NOTIFICATIONS_ENABLED=false5 - N8N_TEMPLATES_ENABLED=falseExpected result: All external communication from n8n to n8n's servers is disabled, suitable for air-gapped or compliance-restricted environments.
Restart n8n and verify telemetry is disabled
Restart n8n and verify telemetry is disabled
Restart n8n to apply the new environment variables. After restart, verify that telemetry is actually disabled by checking the startup logs. n8n logs its configuration at startup, including whether diagnostics are enabled. You can also monitor outgoing network connections to confirm no data is being sent to n8n's telemetry endpoints. Use docker compose logs to check for any telemetry-related log messages.
1# Restart n8n2docker compose down && docker compose up -d34# Check logs for diagnostics configuration5docker compose logs n8n | grep -i diagnostics67# Monitor outgoing connections (optional, Linux only)8# ss -tnp | grep n8nExpected result: n8n starts without sending telemetry data. Logs confirm diagnostics are disabled or show no telemetry activity.
Complete working example
1version: '3.8'23services:4 n8n:5 image: docker.n8n.io/n8nio/n8n6 restart: unless-stopped7 ports:8 - '5678:5678'9 environment:10 # Disable all telemetry11 - N8N_DIAGNOSTICS_ENABLED=false1213 # Disable version update checks (also phones home)14 - N8N_VERSION_NOTIFICATIONS_ENABLED=false1516 # Disable template loading from n8n servers17 - N8N_TEMPLATES_ENABLED=false1819 # Database20 - DB_TYPE=postgresdb21 - DB_POSTGRESDB_HOST=postgres22 - DB_POSTGRESDB_DATABASE=n8n23 - DB_POSTGRESDB_USER=n8n24 - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}2526 # Security27 - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}28 - WEBHOOK_URL=https://n8n.example.com/29 volumes:30 - n8n_data:/home/node/.n8n31 depends_on:32 - postgres3334 postgres:35 image: postgres:16-alpine36 restart: unless-stopped37 environment:38 - POSTGRES_DB=n8n39 - POSTGRES_USER=n8n40 - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}41 volumes:42 - postgres_data:/var/lib/postgresql/data4344volumes:45 n8n_data:46 postgres_data:Common mistakes when disabling Telemetry in n8n
Why it's a problem: Misspelling the environment variable (N8N_DIAGNOSTIC_ENABLED instead of N8N_DIAGNOSTICS_ENABLED)
How to avoid: Use the exact variable name: N8N_DIAGNOSTICS_ENABLED (with an S). Misspelled variables are silently ignored.
Why it's a problem: Setting the variable but forgetting to restart n8n
How to avoid: Environment variables are only read at startup. Always restart n8n after changing any environment variable.
Why it's a problem: Trying to disable telemetry on n8n Cloud
How to avoid: Telemetry settings are only available for self-hosted installations. n8n Cloud manages its own telemetry and does not expose these environment variables.
Why it's a problem: Assuming telemetry collects workflow data or credentials
How to avoid: n8n telemetry only collects anonymous usage statistics like node types and execution counts. It never collects workflow content, credentials, or processed data.
Best practices
- Disable telemetry if your organization's compliance or security policy requires it
- Use N8N_DIAGNOSTICS_ENABLED=false as the primary toggle — it covers all diagnostic data
- Also disable N8N_VERSION_NOTIFICATIONS_ENABLED and N8N_TEMPLATES_ENABLED for fully air-gapped deployments
- Verify the setting took effect by checking startup logs after restart
- Consider keeping telemetry enabled if your policy allows it — the anonymous data helps improve n8n for everyone
- Document your telemetry configuration in your deployment runbook for future reference
- Review telemetry settings after n8n upgrades in case new telemetry features are added
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I'm deploying n8n in an air-gapped enterprise environment. Help me configure all environment variables needed to disable telemetry, version checks, and any external communication from n8n to its servers.
Set up a docker-compose.yml for n8n with all telemetry and external communication disabled, PostgreSQL backend, and no outbound connections to n8n servers.
Frequently asked questions
What exactly does n8n telemetry collect?
n8n collects anonymous usage data including: which node types are used, execution counts and success/failure rates, n8n version, Node.js version, and OS type. It does not collect workflow content, credentials, API keys, personal data, or any data processed by workflows.
Does disabling telemetry affect n8n functionality?
No, disabling telemetry has no impact on n8n functionality. All features, nodes, and workflows work exactly the same way with telemetry disabled.
Can I disable telemetry on n8n Cloud?
No, telemetry settings are only available for self-hosted installations. n8n Cloud is a managed service and handles telemetry according to its terms of service.
Will disabling telemetry prevent n8n from checking for updates?
N8N_DIAGNOSTICS_ENABLED=false disables usage analytics but may not disable version checks. To also disable update checks, set N8N_VERSION_NOTIFICATIONS_ENABLED=false.
Is telemetry enabled by default?
Yes, telemetry is enabled by default on self-hosted n8n installations. You must explicitly set N8N_DIAGNOSTICS_ENABLED=false to disable it.
Does disabling telemetry comply with GDPR?
n8n states that its telemetry data is anonymous and does not contain personal data. However, if your organization's data protection officer requires no external data transmission, disable telemetry with the environment variables described in this tutorial.
Can RapidDev help configure n8n for compliance-restricted environments?
Yes, RapidDev can configure n8n for air-gapped, compliance-restricted, or privacy-sensitive environments, ensuring all external communication is disabled and the deployment meets your organization's security requirements.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation