This repository provides a custom, production-ready Docker image for n8n v2.8.3 that fixes the "Virtual environment is missing" and "insufficient permissions" errors specifically on Render.com.
The official n8n Docker image for 2.8.3 is missing the Python Task Runner source code, and Render's security policy (noexec on /tmp) blocks default execution.
This repo fixes it by:
- Code Injection: Cloning the missing
@n8n/task-runner-pythonsource directly into the image. - Dependency Fix: Pre-installing
websockets(missing in original runner) and common ETL libs (pandas,numpy,requests,beautifulsoup4). - Permission Bypass: Redirecting the runner to
/tmp/n8n_runnerwith full ownership for thenodeuser.
Success! Python Code Node executing with external libraries on Render.
- Click the Deploy to Render button above.
- Select Starter plan (required for Disk persistence).
- Set your
WEBHOOK_URL(the URL Render gives you). - Done! Python nodes will work out of the box.
pandas&numpy(Data Processing)requests(API interaction)beautifulsoup4(Scraping)openpyxl(Excel support)websockets(Core requirement)
The official image throws an Attempt to read execution was blocked due to insufficient permissions error on Render. This happens because the runner fails to start due to missing files in /usr/local/lib/node_modules/@n8n/. We've reverse-engineered the path traversal and restored the environment.
Created by api29200 | Found a bug? Open an issue!