# Node.js on Google Cloud Run

Canonical: https://inetgeek.com/stacks/nodejs-on-google-cloud-run/

Google Cloud Run 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 Google Cloud Run publishes about each. Google Cloud Run documents 4 of the 4.

| Requirement | Google Cloud Run | Why it matters |
| --- | --- | --- |
| Persistent processes | Limited — instance-based billing keeps CPU allocated | 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 | 5 minutes by default, extendable to 60 minutes per request. | 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://docs.cloud.google.com/run/docs/configuring/billing-settings
- Max request duration source: https://docs.cloud.google.com/run/docs/configuring/request-timeout
- Docker deployment source: https://docs.cloud.google.com/run/docs/deploying
- Scales to zero source: https://docs.cloud.google.com/run/docs/about-instance-autoscaling

## What Google Cloud Run documents

> In addition to sources with a Dockerfile, deploying from source supports the following languages using Google Cloud's buildpacks: Runtime Source deployment Configuration Go Deploy a Go service Configure Go buildpacks Node.js Deploy a Node.js service Configure Node.js buildpacks Python Deploy a Python service Configure Python buildpacks Java (includes Kotlin, Groovy, Scala) Deploy a Java service Configure Java buildpacks [...] PHP Deploy a PHP service Configure PHP buildpacks

Source: https://docs.cloud.google.com/run/docs/deploying-source-code

## What it costs to run there

|  | Google Cloud Run |
| --- | --- |
| Pricing model | Metered by resource, billed in 100 ms increments, with no monthly minimum. Two billing settings change what is counted: request-based charges CPU only while a request is being processed, instance-based charges for the whole instance lifecycle. Prices vary by region — the location list is split into Tier 1 and Tier 2 pricing — and the free tier is applied as a spending-based discount at Tier 1 rates. |
| Regions | 41 regions, counted from Cloud Run's own locations list — Google publishes the list rather than a total. They are split into Tier 1 and Tier 2 pricing, so the region chosen changes the bill as well as the latency. |

- Pricing model source: https://cloud.google.com/run/pricing
- Regions source: https://docs.cloud.google.com/run/docs/locations

## Whether it suits you

A container you already build, that should cost nothing when nobody is using it. Scales to zero by default and back up on request volume, with a 60-minute ceiling per request that most request-driven platforms do not offer.

Consider something else if: You need a process that stays running between requests, or a disk that survives a deploy.

Written by Palash Bagchi on 2026-09-09. 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/
- Google Cloud Run: https://inetgeek.com/hosting/google-cloud-run/
