# Node.js on Render

Canonical: https://inetgeek.com/stacks/nodejs-on-render/

Render publishes its own guide for deploying Node.js.

JavaScript runtime used to run servers and build tooling outside the browser.

## What Node.js needs

Every host claims to run Node.js, so the claim on its own decides nothing. These are the things Node.js requires from the platform underneath it, and what Render publishes about each. Render documents 3 of the 4.

| Requirement | Render | Why it matters |
| --- | --- | --- |
| Persistent processes | Supported | A long-running process is the point: WebSocket connections, in-memory caches and job queues all die with it. A host that only runs functions cannot keep one alive. |
| Max request duration | Not documented | Anything the process does inside a request — a large upload, a slow query, a streamed response — is bounded by this ceiling. |
| Docker deployment | Supported | Node apps routinely need a system binary the platform's buildpack does not ship. A Dockerfile is the escape hatch when they do. |
| Scales to zero | Supported | An always-on process bills while idle. Scaling to zero removes that cost and adds a cold start to the next request instead. |

- Persistent processes source: https://render.com/docs/background-workers
- Docker deployment source: https://render.com/docs/docker
- Scales to zero source: https://render.com/docs/free

## What Render documents

> You can deploy a Node.js Express application on Render in just a few clicks.

Source: https://render.com/docs/deploy-node-express-app

### Node.js features on Render

- **websockets**: Supported — Render web services can accept inbound WebSocket connections from the public internet. [...] In your web service code, you usually extend your existing HTTP server framework with WebSocket support. [...] This example uses Express along with the ws module ([source](https://render.com/docs/websocket))
- **background_workers**: Supported — Background workers are services that run continuously [...] Background workers help to keep your apps responsive by offloading long-running, asynchronous tasks from your services in the critical request path. ([source](https://render.com/docs/background-workers))
- **ssh_shell_access**: Supported — You can initiate a shell session to your Render service from its Shell page in the Render Dashboard [...] You can also SSH into your services from the terminal after completing setup. ([source](https://render.com/docs/ssh))

## What it costs to run there

|  | Render |
| --- | --- |
| Pricing model | The Hobby plan does not have a monthly fee, so you only pay for usage. |
| When you exceed a cap | Pipeline minutes: overage is auto-purchased, but with no payment method or once the monthly spend limit is reached Render stops running pipeline tasks, builds included. |
| Regions | Oregon, USA; Ohio, USA; Virginia, USA; Frankfurt, Germany; Singapore |

- Pricing model source: https://render.com/docs/new-workspace-plans
- When you exceed a cap source: https://render.com/docs/build-pipeline
- Regions source: https://render.com/docs/regions

## Whether it suits you

Workloads that need real background workers and persistent processes alongside web services, deployed from a repository or a Dockerfile. Managed Postgres and static sites run on the same platform.

Consider something else if: Free web services spin down after 15 minutes without traffic, which makes the free tier unsuitable for anything that must answer immediately.

Written by Palash Bagchi on 2026-09-05. This is a recommendation, not a sourced fact — it carries no citation because it is an opinion.

## Related

- Best hosting for Node.js: https://inetgeek.com/stacks/nodejs/
- Render: https://inetgeek.com/hosting/render/
