Node.js needs a permanently running process – classic PHP shared hosting is generally not enough for that. The choice is between your own VPS with root access or a PaaS platform that handles building and running the app.
Prices: entry-level plans according to the providers' websites, as of 30 October 2026. Euro prices incl. VAT except Hetzner (net), dollar prices excl. VAT. Usage-based plans can be considerably higher depending on load.
Why classic web hosting is usually not enough for Node.js
Classic shared hosting is built for PHP: the web server starts a short-lived process for each request. A Node.js application, by contrast, is a permanently running process that occupies a port, stays in memory and has to be restarted automatically if it crashes.
That is why you need either a VPS with root access (Hetzner, IONOS, Vultr) or a PaaS platform (Railway, Render, Fly.io) that manages the process for you. A few hosts also offer Node.js on shared hosting – usually via cPanel with Passenger, but with very limited RAM and old Node versions.
VPS or PaaS – which is cheaper?
VPS: fixed monthly price, full control, but you take care of updates, reverse proxy (nginx/Caddy), TLS certificates and process manager (PM2, systemd) yourself. From around €5/month you get a machine on which several small apps can run in parallel. With more than two projects, this is almost always the cheapest option.
PaaS: you push code, the platform builds and starts it. For a single small app it costs about the same, but becomes expensive as soon as the app is under constant load – usage billing by CPU and RAM seconds adds up quickly. In return you save maintenance time and get rollbacks, preview deployments and managed databases.
Rule of thumb: one project and little time → PaaS. Several projects or constant load → VPS.
What to look for in Node.js hosting
- Node version – the current LTS version (currently Node 22/24) must be available and switchable.
- Memory – Node needs noticeably more RAM than PHP. Below 1 GB, build processes get tight; 2 GB is a realistic minimum for production.
- WebSockets & long-lived connections – not every platform supports persistent connections; serverless environments such as Vercel Functions only do so to a limited extent.
- Cold starts – platforms that scale down to zero take noticeably longer on the first request after a pause.
- Database in the same region – a managed DB in a different region costs double-digit milliseconds per query.
- Build minutes – PaaS providers often have a separate allowance that is billed extra.
- Server location – Frankfurt or Germany for latency in the DACH region and simple GDPR documentation.
Worked example: several apps on one VPS
An example using the prices from the comparison: a Hetzner VPS with 4 GB RAM costs €5.99 net a month, around €7.13 gross, so just over €85 a year. Three small Node applications with a database run on it without trouble using Docker or PM2, as long as there is enough memory. That works out at just under €2.40 a month per project.
The same three applications on a PaaS platform cost $15 to $21 a month at $5 to $7 per service, plus a database. In return you save yourself the server administration. So weigh the price against your time: if you already have Linux experience, the VPS is cheaper; if you just want to write code in peace, the platform is.
From code to operation: deployment in practice
Clean operation starts with deployment. On platforms a Git push is enough: the platform builds the application and swaps it in without downtime. On your own server you set up the same thing with a container, a CI script or a tool such as Coolify. What matters is that the application can be built reproducibly and that credentials exist only as environment variables, never in the repository.
Plan for ongoing operation, too. A health-check endpoint shows whether the application responds, logs belong somewhere you can still read after a crash, and monitoring reports outages before users do. Also keep an eye on how long the Node version you use receives security updates: the official LTS versions are maintained for about 30 months after release, after which you should move on.
Security and data protection for Node.js applications
Node projects depend on many packages from the npm ecosystem. Every dependency can contain security vulnerabilities, so regularly running npm audit and keeping a fixed update rhythm are part of operation. On a VPS the classic tasks are added: a firewall, SSH with keys only, automatic operating-system security updates and a reverse proxy that terminates TLS.
If the application processes personal data, you need a data processing agreement with your host under Art. 28 GDPR. A data centre in the EU simplifies the documentation. With platforms based outside the EU, you should check carefully in which region the data is stored and whether transfers to third countries take place.
Scaling: when a bigger plan makes sense
Scaling first means vertical scaling: more memory and CPU for the same server. That is simple and is enough for most small and medium applications for a long time. Only when a single machine no longer suffices or outages are unacceptable does a set-up with several instances behind a load balancer make sense, which noticeably increases operation and cost.
Find out where the bottleneck is before you upgrade. With Node.js it is often not the CPU but slow database queries or blocking code. Profiling costs little time and often saves a more expensive plan.