This discussion is about troubleshooting why an n8n self-hosted instance on Docker is not recognizing environment variables to extend the maximum node execution timeout, which is preventing certain long-running nodes (like a Dust agent) from completing

Describe the problem/error/question

I am trying to increase the maximum execution time for individual nodes beyond the default 5 minutes on my n8n self-hosted instance. My primary issue is that a specific node within my workflow, a Dust agent, takes longer than 5 minutes to execute, and currently, the node’s execution limit is preventing it from completing. I need to extend this node execution limit, ideally to 10 minutes.


What is the error message (if any)?

I don’t receive an explicit timeout error message directly from n8n for the workflow. Instead, the Dust agent workflow simply fails after approximately 5 minutes, indicating an execution limit is being hit.

As a diagnostic step, I’ve used a Function node to check the process.env variables that should control this timeout (N8N_TIMEOUT_EXECUTION and EXECUTIONS_TIMEOUT). The output from this Function node consistently shows “Undefined or empty” for these variables. This suggests that n8n is not picking up the environment variables intended to control the execution timeout.


Please share your workflow

JSON{ "nodes": [ { "parameters": { "functionCode": "const timeoutValue = process.env.N8N_TIMEOUT_EXECUTION; // Also tested with process.env.EXECUTIONS_TIMEOUT\n\nconsole.log('Value of N8N_TIMEOUT_EXECUTION :', timeoutValue);\n\n// Create an item with the value, even if undefined\nreturn [{\n json: {\n timeout_milliseconds: timeoutValue || \"Undefined or empty\"\n }\n}];" }, "name": "Function (Check Timeout)", "type": "n8n-nodes-base.function", "typeVersion": 1, "id": "e1f1d1e1-f1d1-4d1d-8c1c-1c1c1c1c1c1c", "retryOnFail": false, "webhookId": null, "settings": {}, "notesInFlow": false, "position": [ 700, 300 ] } ], "connections": {} }

(Note: I’ve used two versions of the code in this Function node to test both N8N_TIMEOUT_EXECUTION and EXECUTIONS_TIMEOUT.)


Share the output returned by the last node

For the Function node code checking process.env.N8N_TIMEOUT_EXECUTION (or process.env.EXECUTIONS_TIMEOUT), the output is consistently:

JSON[ { "json": { "timeout_milliseconds": "Undefined or empty" } } ]

(or “Undefined or empty - EXECUTIONS_TIMEOUT” depending on the test version). The console.log from the Function node also does not appear in the browser’s developer console.


Information on your n8n setup

  • n8n version: n8nio/n8n:latest (as per docker ps -a)
  • Database (default: SQLite): Default (likely SQLite, not explicitly configured in docker-compose.yml)
  • n8n EXECUTIONS_PROCESS setting (default: own, main): Not explicitly set in docker-compose.yml, so default.
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker Compose
  • Operating system: Ubuntu 24.04.2 LTS (on a Hostinger VPS)

Additional context you might add if asked or if there’s space:

  • Initially, docker inspect ba40f8e70f13 showed that EXECUTIONS_TIMEOUT=600000 was present in the container’s environment variables.
  • The docker-compose.yml file is located at /root/docker-compose.yml.
  • I attempted to modify docker-compose.yml to set N8N_TIMEOUT_EXECUTION=600000, and then reverted to setting EXECUTIONS_TIMEOUT=600000, performing docker-compose down && docker-compose up -d after each change.
  • Despite these efforts, the Function node in n8n does not reflect the set environment variable values, and the console.log outputs from the Function node do not appear in the browser’s console.
  • docker-compose was successfully installed via apt.