Node.js hosting from package.json to live.
Push to GitHub. We read package.json, pick your Node.js version and package manager, run your build, and start your app with the command it already has. Every deploy waits for the new version to answer before visitors see it.
- Node.js22 and 24
- FrameworksNext.js, Nuxt, Express and more
- Port8080, in PORT
- Priced byWhat it uses
We read your code, so you don't write a build script.
Every build shows what we found and each command we ran, line by line. Anything we found, you can change in the app's settings.
| File | What we do with it |
|---|---|
package.json | Your framework from its dependencies: Next.js, Nuxt, Remix, SvelteKit, Astro, NestJS, Express, Fastify, Koa or Hono. Its build and start scripts, and the Node.js version in its engines field. |
.nvmrc | The Node.js version you use. Without it, the version in package.json, or the newest we offer. |
package-lock.json | npm ci. A pnpm-lock.yaml means pnpm, and a yarn.lock means Yarn. Dev dependencies are installed too, because builds need them. |
tanzahost.json | Optional: the version, system packages, and the install, build and start commands. |
It starts the way you start it.
Your app listens on the port in PORT, which is 8080. NODE_ENV is production, for the build and for the app.
A start script first
With a start script, we run it, like npm run start. Next.js without one starts with next start, and Nuxt with its built server.
Or the file that starts it
Otherwise the main field of package.json, or server.js, server.mjs, index.js, app.js or main.js.
A site with no server
A package with a build script and nothing to start is a static site: we build it and serve what it made.
Deploys that never take you down.
The new version starts beside the old one. Visitors switch only once it answers its health address, “/” unless you choose another.
Before going live
One command per deploy, like npx prisma migrate deploy, run before the switch. If it fails, the old version keeps serving.
Variables at build time too
Variables are encrypted and given to the build as well as the app, so Next.js and Vite can build them in.
Roll back in one click
The build before the live one, deployed again without downtime.
Workers, tasks and a database next door.
Add what a real app needs beside its web process, each with the app's code and variables.
- Up to 5 workers for queues and background jobs, and up to 10 scheduled tasks, as often as every minute.
- PostgreSQL with connection pooling, MySQL or Valkey in the same project: attaching one adds DATABASE_URL or REDIS_URL to your variables.
- Logs live, a terminal in your browser, and the numbers for memory, processor and requests.
Node.js 22 and 24.
We use the newest version that meets what your code asks for, or the one you pick in the app's settings. The next build uses it.
- Node.js 24Recommended
- Node.js 22Supported
Node.js 22 gets security fixes until 30 April 2027. A version past its end of life shows a warning and the date it's removed.
A Node.js app, priced in the open.
Say an Express API holds 0.15 GB of memory and uses 2% of a processor, awake all month. You pay for that use, hour by hour, from your wallet. The limits you set cost nothing by themselves.
reading today's prices