How to Host a Next.js App: Every Option, Compared
The Helm7 team · Published 25 September 2026 · Checked 30 September 2026 · 9 min read

Search for how to host a Next.js app and you get one tutorial per platform, each written by the platform. This is the map instead. Six ways to host a Next.js app, what each one supports, what each costs to start, and a table that picks one for your situation. The Next.js docs and vendor price pages are the source, read on 30 September 2026.
In short
- A Node server or Docker container supports every Next.js feature. A static export supports none that need a server.
- Static exports cannot do ISR, server actions, Proxy, cookies or default image optimisation.
- The cheapest fixed cost is a rented server at about €6 a month. The price is that you patch it.
- On one instance ISR and images need no setup. Several instances need a shared cache handler.
- To host a Next.js app, pick by what has to run at request time, then by who should carry the pager.
How do you host a Next.js app? Six ways
The Next.js docs list four routes, which are a Node.js server, a Docker container, a static export and platform adapters, but in practice you meet six, because the platform route splits three ways and the Node route splits in two.
- A managed platform that builds and runs your repository on every push.
- A PaaS or container platform where you pick the instance size.
- A Docker container on a server you rent.
- A Node process behind nginx on that same kind of server.
- A static export, served as plain files.
- Serverless on a big cloud provider.
They differ on one question above all others: does anything have to run when a person asks for a page? If so, you need a server, and the static route is closed to you.
| Way | ISR | Image optimisation | Server actions | Proxy (middleware) |
|---|---|---|---|---|
| Node server or Docker container | Yes | Yes | Yes | Yes |
| Static export | No | Custom loader only | No | No |
| Vercel, a verified adapter | Tested | Tested | Tested | Tested |
| Other platforms and clouds | Varies | Varies | Varies | Varies |
Two notes on that table. "Tested" means Vercel runs the Next.js compatibility suite, while the docs say other platforms have their own integrations that the Next.js team has not verified, so check each one against the feature you need. And a plain server gets everything, although ISR and image optimisation are only zero-config on one instance, which comes up again below.
A managed platform: push and it runs
You connect a Git repository, and the platform builds each commit and serves it. Vercel is the reference here, since it is a verified adapter. Its Pro plan is $20 a month, which includes one deploying seat and $20 of usage credit. Each extra deploying seat is another $20. Netlify, AWS Amplify and Firebase App Hosting are the usual alternatives. The Next.js docs list all three as offering their own Next.js support rather than the verified adapter.
This is the least work, and for most small teams it is the usual way to host a Next.js app. The cost is that your bill now has several meters, and the database is usually somebody else's product. If you are weighing Vercel in particular, our Vercel cost breakdown has the sums by team size.
A PaaS or container platform: a lower floor
These platforms run your app as a Node process or a container, and you choose how big it is. Render, Railway, DigitalOcean, Fly.io and Google Cloud Run all have deploy templates in the Next.js docs. Heroku-style platforms work the same way, and it is the shape most people mean when they search how to deploy a Next.js app to Heroku or DigitalOcean.
Render's Starter instance is $7 a month for 512 MB of RAM, and a Hobby workspace has no monthly fee. You get every Next.js feature because it is a real Node server, and what you give up is the tuned integration of a platform built around one framework.
Helm7 sits in this group, and it is one entry among several. It runs your app as a container next to Postgres, auth, storage, jobs and domains on one bill, from $12 a month on the Builder plan. That price is a minimum spend that usage draws down. It is newer than the others, runs only in Falkenstein and Helsinki, and runs each environment as one instance. The deploy guide covers the same options without the sales pitch.
Host a Next.js app in a container on a rented server
This is the cheapest fixed cost. Hetzner's CAX11 has 2 vCPUs, 4 GB of RAM and 40 GB of NVMe. It costs €5.99 a month excluding VAT, from 15 June 2026, with 20 TB of traffic included in its EU locations. Hetzner showed the CAX line as currently unavailable on the page we read, so check stock before you plan around it.
You install Docker, build an image and run it, and if you set output to standalone and use a three-stage Dockerfile, the image stays small. The full recipe is in how to dockerize a Next.js app. There is one trap, which is that the ISR cache lives on disk inside the container, so without a mounted volume it starts empty after every deploy.
Everything else is yours, from updates and backups to firewall rules, certificates, and the call when it falls over at night.
How do you run a Next.js app behind nginx?
No container is needed. This is how to host a Next.js app the plain way, on any Linux machine with Node installed, and it is also how to deploy a Next.js app to nginx.
- 1BuildRun npm run build. It writes the .next directory.
- 2StartRun npm run start, which runs next start on port 3000. Set PORT to change it.
- 3Keep it aliveUse systemd or pm2 so it restarts after a crash or a reboot.
- 4Put nginx in frontThe Next.js docs recommend a reverse proxy rather than exposing the server. It absorbs malformed requests, slow connections and payload abuse so Next.js can render.
- 5Stop bufferingStreamed pages arrive all at once if nginx buffers them. The docs show Next.js sending an X-Accel-Buffering header set to no.
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}On one instance, ISR, image optimisation and Proxy all work with no setup. Run two instances and each keeps its own cache, so you need a shared cache handler. Self-hosting Next.js lists every setting.
What are the limits of a static export?
Set output to export and next build writes plain HTML, CSS and JavaScript to an out folder, which any web server can host, whether that is nginx, Apache, an S3 bucket, or GitHub Pages, which has an official Next.js template. Shared cPanel hosting also serves files, so a static export is the safest way to deploy Next.js there, and if your host says it runs Node.js apps, that is a different case, so ask.
“Features that require a Node.js server, or dynamic logic that cannot be computed during the build process, are not supported”
- No Incremental Static Regeneration, server actions, Proxy, Draft Mode or cookies.
- No rewrites, redirects or custom headers in next.config. Your web server does those now.
- Dynamic routes need generateStaticParams, and cannot set dynamicParams to true.
- Route handlers that read the request do not work. GET handlers must be marked force-static.
- next/image needs a custom loader, because the default one optimises at request time.
Server Components are fine, since they run once at build time, and a blog, a docs site or a brochure site often qualifies, but an app with logins does not.
Host a Next.js app serverless on a big cloud
AWS Amplify, Firebase App Hosting and Google Cloud Run all run Next.js without a server you patch, and you pay per request and per unit of compute, with no fixed fee to quote here, so price it in the provider's calculator with your own traffic.
The catch is the cache. The Next.js self-hosting guide says that on ephemeral compute, local disk is often non-persistent or unavailable, so the ISR cache is short-lived and per instance. That does not break the app, but it means pages rebuild more often than you might expect, and each rebuild costs compute.
What does each way cost to start?
| Option | Starts at | Read this first |
|---|---|---|
| Vercel Pro | $20 a month | Includes one deploying seat and $20 of usage. More seats are $20 each. |
| Render web service | $7 a month | Starter, 512 MB RAM. Postgres is billed separately. A Pro workspace is $25. |
| Hetzner CAX11 server | €5.99 a month | Excludes VAT. Compute and disk only, everything else is yours. |
| Helm7 Builder | $12 a month | A minimum spend. Includes Postgres, auth, storage and domains. EU regions only. |
| Static export on your own web server | Your file host's price | No server features at all. |
| Serverless on a cloud | No fixed fee | Pay per use. Model your traffic before you commit. |
Which way should you pick?
| Your situation | Pick | Why |
|---|---|---|
| A brochure site or docs, nothing server-side | Static export | Cheapest, and any file host works. |
| A small team app and no time for servers | Managed platform | Deploys on push. Watch the seat count. |
| An app plus Postgres, auth and files on one bill | A platform that hosts all of it | Fewer vendors. Check the regions first. |
| Steady traffic and someone at ease with Linux | Container or nginx on a server | Lowest fixed cost. You patch the host. |
| Spiky traffic on a cloud you already use | Serverless | Pay per use. Expect more cache rebuilds. |
| Several instances behind a load balancer | Any Node host with a shared cache | The docs point to Redis or S3 for it. |
Before you host a Next.js app anywhere, test three things, because each one fails quietly. The app must answer on the production address. Streamed pages must arrive in pieces rather than all at once. And a redeploy must not lose anything a user was waiting on.
Common questions
How do I host a Next.js app for the lowest cost?
If the app has no server features, export it as static files and use any file host. If it needs a server, a rented virtual machine has the lowest fixed price, but you run and patch it yourself.
How do I run a Next.js app in production?
Run npm run build, then npm run start. That starts the Next.js server on port 3000, and it supports every feature. Keep it running with systemd or pm2 and put a reverse proxy such as nginx in front.
Can I host a Next.js app on cPanel?
A static export can be uploaded to any host that serves files, cPanel included. Server features need a host that runs Node.js processes, so ask your provider before you buy.
Do I need Vercel to host a Next.js app?
No. The Next.js docs list Node.js servers, Docker containers, static exports and adapters as supported routes. Vercel is one of them, and the only verified adapter besides Bun.
Does a static export support server actions?
No. The Next.js static export guide lists server actions, ISR, Proxy, cookies, rewrites, redirects and headers as unsupported.