Express, Fastify and Koa APIs
A REST or GraphQL backend for a mobile app or a frontend. Read the port from process.env.PORT and there is nothing else to configure.
Node.js hosting where you push to GitHub and Voroa installs, builds and runs your app. Express, NestJS, Fastify or Next.js, on the Node version your repository asks for, in Mumbai.
Free size included · Paid sizes from ₹149/mo
Node.js hosting is a server that keeps your Node process running, gives it a public address and restarts it with each new version of your code. On shared hosting or a VPS that means a control panel, a process manager such as PM2, a reverse proxy and a certificate you renew yourself.
On Voroa you connect a repository instead. Voroa reads your package.json, installs your dependencies, runs your build, starts your app with its start script and puts it behind HTTPS. Every push to your branch repeats that, and the old version keeps serving until the new one is ready.
wss://If it listens for HTTP and lives in a Git repository, it runs as a web service.
A REST or GraphQL backend for a mobile app or a frontend. Read the port from process.env.PORT and there is nothing else to configure.
TypeScript compiles in the build step, so the service runs the JavaScript your build produced. Set your own build and start commands when the defaults are not what you want.
Next.js, Nuxt, Remix, SvelteKit and Astro in server mode. Each push runs next build, and later builds of the same service reuse its own build cache.
Chat, live dashboards and multiplayer features over WebSockets or Socket.IO, on the same service as the rest of your API.
Connect a repository, pick a branch, and Voroa builds and runs your app. Most projects need zero configuration. When you do need control, set your own build and start commands, root directory and Node version - and change them any time.
View documentationTurn on auto-deploy and every push to your branch triggers a fresh build and rolls the change out. Your live service always matches your latest commit, and every deploy is recorded with the commit that caused it.
View documentationVoroa builds on the Node version your repository declares in .nvmrc, .node-version or the engines.node field of package.json. Supported major versions are 24, 22, 20 and 18. Without one, a service keeps the version it was created with, which is Node 20 for new services.
Because the version travels with your code, every deploy and every teammate gets the same one, and there is nothing to set in the dashboard. If you build from your own Dockerfile instead, the Node version comes from that image. See deploy a Node.js app for the steps.
You do not need a process manager or a reverse proxy. Voroa starts your app with its start script and routes HTTPS traffic to it. Voroa sets PORT for you; if your app listens on a fixed port instead, Voroa detects it and routes there, but reading process.env.PORT is still the safe choice.
When a new release is ready, Voroa sends traffic to it and only then stops the old one, so a deploy does not drop requests. A health check path lets Voroa confirm your app actually answers before it switches.
Your build streams line by line as it runs, and your running service keeps its own runtime logs - so when something misbehaves in production you read what happened instead of guessing. Every deploy keeps its status and its commit.
View documentationStore the configuration your app needs as environment variables, applied to both your builds and your running service. Values are encrypted at rest and are never displayed again - not to you, not to anyone. You can replace a value; nobody can read it back.
View documentationMost Node.js apps need somewhere to keep data and somewhere to do slow work. Add managed PostgreSQL for your data, a Redis-compatible key value store for sessions and cache, and a background worker for queues and jobs that should not hold up a request. Each connects through one environment variable, and everything sits in one workspace, one region and one rupee bill.
The free size runs a real Node.js service with no card needed. To keep it free, a free web service goes to sleep after 15 minutes without requests, and the next request wakes it; while it starts, the visitor sees a short starting page instead of an error. A side project or a demo works well like this.
Anything that must answer the first request instantly belongs on a paid size, which never sleeps. A Discord bot or a queue consumer runs as a background worker, and a worker never sleeps, even on the free size. Free services and workers share 750 running hours a month in a workspace. Every limit is listed in free instances.
Each service is a fixed monthly price in rupees for the size you pick, and you can change the size later from its settings. There is no charge per request and no surprise bill for traffic inside your plan's bandwidth. GST at 18% is added at payment, with a GST invoice every time, so a registered business can claim the input tax credit.
The panel shows the free size, the two smallest paid sizes, and what a Node.js API with a PostgreSQL database costs on the Starter sizes. The full size table is below.
Every service gets a live HTTPS URL the moment it deploys. Point your own domain at it and Voroa issues and renews the certificate for you - nothing to buy, nothing to remember, no expired certificate taking your site down.
View documentationStart free, move up a size when the service needs it. Every size is billed per service, per month.
| Plan | CPU / RAM / Storage | Price | Action |
|---|---|---|---|
Nanonano |
0.1 CPU · 512 MB RAM | ₹0/month+18% GST | Get started |
Nano Plusnano_plus |
0.5 CPU · 512 MB RAM | ₹149/month+18% GST | Get started |
Starterstarter |
1 CPU · 1 GB RAM | ₹298/month+18% GST | Get started |
Standardstandard |
1 CPU · 2 GB RAM | ₹498/month+18% GST | Get started |
Standard Plusstandard_plus |
2 CPU · 2 GB RAM | ₹598/month+18% GST | Get started |
Propro |
2 CPU · 4 GB RAM | ₹998/month+18% GST | Get started |
Pro Pluspro_plus |
4 CPU · 4 GB RAM | ₹1,198/month+18% GST | Get started |
Pro Maxpro_max |
4 CPU · 8 GB RAM | ₹1,998/month+18% GST | Get started |
Pro Ultrapro_ultra |
8 CPU · 8 GB RAM | ₹2,398/month+18% GST | Get started |
Scalescale |
8 CPU · 16 GB RAM | CustomPriced to your workload | Talk to us |
Scale Maxscale_max |
8 CPU · 24 GB RAM | CustomPriced to your workload | Talk to us |
Your bill is one workspace plan plus a compute size for each service you run; the pricing page lists the workspace plans. All prices in INR and exclude 18% GST; a GST tax invoice is issued on every payment. No foreign currency payments, no forex markup.
Create your Voroa account with email and a password, or sign in with GitHub.
Connect GitHub and choose the repository and branch that holds your Node.js app.
Pick a size. The free size costs nothing and needs no card.
Select Deploy. Voroa installs your dependencies, runs your build and streams the log.
Open the live URL, then add your own domain when you are ready.
Turn on auto-deploy, and every push to the branch ships a new release.
Your services and every database beside them land on a single monthly invoice, paid over UPI-Autopay or an Indian card. Each line names what it is for, and the tax is split out the way your accountant needs it for input tax credit.
View documentationNode 24, 22, 20 and 18. Declare the one you want in .nvmrc, .node-version or engines.node in package.json. Without one, a new service runs Node 20.
Yes. Voroa detects npm, pnpm or Yarn from the lock file in your repository and installs with it.
No. Voroa starts your app with its start script and keeps the service running. A free service sleeps after 15 minutes without requests and wakes on the next one; paid sizes never sleep.
Read it from process.env.PORT, which Voroa sets for you. If your app listens on one fixed port instead, Voroa detects it and routes there.
Yes. Put the compile step in your build script and the server in your start script; a standard Next.js app already has both. See deploy a Next.js app for the details.
Yes, over wss:// on the same service. An idle connection can be closed, so clients should reconnect, which most WebSocket libraries already do. See WebSockets on Voroa.
Yes. Add an SSH key to your account and open a terminal inside the running service, from your own machine or the CLI. See SSH access.
Managed PostgreSQL, MySQL and a Redis-compatible key value store, all in Mumbai, connected with one environment variable. You can also connect to any outside database your code can reach.
Yes. The free size runs a 512 MB service with no card needed. Free services share 750 running hours a month in a workspace and sleep after 15 idle minutes. See free instances.
A fixed monthly price in rupees for the size you pick, plus 18% GST, with a GST invoice on every payment. Pay by UPI, an Indian card or netbanking.
Yes, after 15 minutes without requests a free web service sleeps, and the next request wakes it with a short starting page. Paid sizes never sleep, and background workers never sleep on any size.
Voroa does not run a managed MongoDB. Connect to a MongoDB you host elsewhere with its connection string in an environment variable, or use managed PostgreSQL, which Voroa runs next to your app.
Start on the free size. When you need an app that never sleeps, the smallest paid size is the cheapest step up; the panel and the table above show current prices in rupees.
Yes, as a background worker with a start command such as node bot.js. Workers have no port, need no URL and never sleep.
Yes. Add the domain, create the DNS record Voroa shows you, and the certificate is issued and renewed for you. See custom domains.
In Mumbai (IN), in the same region as the databases you add next to it.
We wrote a short checklist covering the server city, deploys and rollbacks, the port, scaling and billing in Node.js hosting in India: what to check.
Connect your repository, pick the free size, and have a live URL in a few minutes. Moving an app from another platform? You may qualify for migration credits. More guides are on the Node.js section of the blog.
Free size, no card needed.