Migrating production infrastructure? Get up to ₹10,000 in migration credits. Apply now
voroa
Services

Docker hosting. In India.

Docker hosting where Voroa builds the Dockerfile in your GitHub repository and runs the container in Mumbai, billed in rupees with a GST invoice. The image you tested is the image that serves, rebuilt on every push.

Free size included · Paid sizes from ₹149/mo

  • Your own Dockerfile
  • Built on every push
  • HTTPS and health checks
  • 2,000+Developers
  • 24,100+Deploys
  • MumbaiWhere your app runs

What Docker hosting means here

Docker hosting is a server that builds your image and keeps the container running behind a public address. On a VPS you install Docker, run the build, wire up a reverse proxy and a certificate, and restart the container yourself with every release.

On Voroa you pick Docker (Dockerfile) as the runtime when you create a web service. Voroa builds the image from your repository, starts it with the image's own ENTRYPOINT and CMD, puts it behind HTTPS and builds again on every push, while the old container keeps serving until the new one is ready.

What every Docker service comes with

  • A build from your own Dockerfile, at any path in the repository
  • A URL with TLS from the first deploy
  • A new build and release on every push to your branch
  • Releases that start before the old one stops
  • Health checks from your path or your HEALTHCHECK
  • One-click rollback to the previous release
  • Environment variables and secret files at run time
  • Build and runtime logs you can read and search
  • One bill, in rupees, with a GST invoice
  • Runs in Mumbai (IN)

When a Dockerfile is the right choice

Voroa builds most Node.js and Python apps without one. Bring a Dockerfile when the standard build is not enough.

A system package you need

An image library, a PDF tool, a headless browser or a database client that has to be installed in the image.

A runtime Voroa does not detect

A language or a version the automatic build does not cover. If it runs in a container and serves HTTP, it runs here.

A custom build

Multi-stage builds, a compile step that does not match a standard pattern, or a monorepo layout where you decide exactly what goes into the image.

The same image everywhere

The image your CI and your laptop build is the image that serves, so "it works on my machine" means it works here too.

From your repository

Deploy straight from GitHub

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 documentation
Auto-deploy

Ship on every push

Turn 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 documentation

Docker hosting on Voroa or Docker on a VPS

A VPS gives you root and the cheapest raw machine, and asks you to run everything around the container: Docker itself, operating system updates, a reverse proxy, certificates, a deploy script and a way to release without downtime. If you want that control, a VPS is the right tool.

Voroa takes all of that off you and gives up root access in return. You keep your Dockerfile; Voroa builds it on every push, releases the new container before stopping the old one, and renews the certificate. Pick the VPS when you need the machine, and Voroa when you only need the container to run.

The port, the command and the health check

Voroa passes the port to your container as the PORT environment variable, so start a process that listens on it. EXPOSE in a Dockerfile is only a note in the image; it does not publish a port. Your image's ENTRYPOINT and CMD decide what runs, so to change the command, change the Dockerfile.

For readiness, Voroa requests your health check path inside the container when the image has node, python3, curl or wget, or follows your Dockerfile's own HEALTHCHECK. The details are in deploy with Docker.

Secrets stay out of the image

Everything a Docker build is given is recorded in the image, so a token passed as a build argument can be read back by anyone who can inspect it. Give secrets to the container when it runs instead: environment variables are stored encrypted and handed to the container at start, and a secret file is mounted read-only at /etc/secrets/<name>.

Neither reaches the image. See secrets and Docker builds for what is safe to pass at build time.

Logs

Watch the build, then read the runtime

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 documentation

Databases and workers next to your container

Add managed PostgreSQL, a Redis-compatible key value store or a background worker in the same workspace and connect them with environment variables. A worker can build from its own Dockerfile too, so a queue consumer and the web container can share one repository. They run in the same region and land on the same rupee bill.

What a typical Docker setup costs a month

A web container, a background worker and a PostgreSQL database is the setup most apps grow into. On Voroa each is a fixed monthly price in rupees for the size you pick, with 18% GST added at payment and a GST invoice every time, so a registered business can claim the input tax credit.

The panel shows that setup on the Starter sizes. Start every piece on the free size while you build, and move up one service at a time when traffic arrives. There is no charge per request.

What Voroa does not do yet

We would rather say this up front than have you find out after a deploy. Voroa builds from your repository, so deploying a pre-built image from Docker Hub or another registry is not available today. There is no docker-compose runner: each part of a compose file becomes its own service, and a database container is better replaced by a managed database.

Reading a secret during the build, for example a private registry token, is not available yet either. Containers run on x86-64 (amd64) machines, so build for that platform.

Domains and TLS

Your own domain, with HTTPS handled

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 documentation

Web services

per service

Start free, move up a size when the service needs it. Every size is billed per service, per month.

  • Deploys from your GitHub repo
  • A live HTTPS URL with managed TLS
  • Runtime logs and full deploy history
  • Custom domains
Web services sizes
PlanCPU / RAM / Storage PriceAction
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.

How it works

From Dockerfile to a live container

  1. 01

    Create your Voroa account with email and a password, or sign in with GitHub.

  2. 02

    Select New, choose Web Service, and connect your repository and branch.

  3. 03

    Under Build and runtime, set Runtime to Docker (Dockerfile) and check the Dockerfile path.

  4. 04

    Add your environment variables, and any secret files, for run time.

  5. 05

    Pick a size. The free size costs nothing and needs no card.

  6. 06

    Select Create. The first build starts at once, and every push builds again.

Billing

One rupee bill, itemised, with GST

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 documentation
FAQ

Common questions

Not covered here? Read the docs or talk to us.

How do I deploy a Dockerfile on Voroa?

Create a web service from your repository and set Runtime to Docker (Dockerfile). Voroa builds the image and runs it; every push builds again. See deploy with Docker.

Which port should my container listen on?

The one in the PORT environment variable, which Voroa sets. EXPOSE alone does not publish a port, so read PORT in your app.

Can I deploy a pre-built image from Docker Hub or another registry?

Not today. Voroa builds from your repository. If you build images in your own pipeline, see deploying a pre-built image for where this stands.

Can I run docker-compose?

No. Voroa runs one container per service. Deploy each part as its own service, and use a managed database instead of a database container.

How do I pass secrets to my container?

As environment variables or secret files, given at run time. Never as build arguments: anything a build receives is recorded in the image.

Can my build use a private package registry token?

Reading a secret during the build is not available yet. Vendor the dependency or build the artifact elsewhere and copy it in.

Does Voroa run my health check?

Yes. It requests your health check path inside the container if the image has node, python3, curl or wget, or follows your Dockerfile's HEALTHCHECK.

Is there free Docker hosting?

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.

How is Docker hosting billed?

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.

Where does my container run?

In Mumbai (IN), in the same region as the databases you add next to it.

Do I need Kubernetes to host Docker containers?

No. Voroa runs, restarts and releases your container for you. You write a Dockerfile, not Kubernetes manifests.

Which CPU architecture do containers run on?

x86-64 (amd64). If you build on an Apple silicon Mac, build for linux/amd64, or let Voroa build from your Dockerfile.

Can I deploy from a private GitHub repository?

Yes. Connect GitHub, allow Voroa on the private repository, and create the service from it.

Does data written inside the container survive a deploy?

No. The container's filesystem resets on every deploy. Keep data in a managed database, or attach a persistent disk on a paid size.

Do requests fail while a new version deploys?

No. The new container starts and passes its readiness check before traffic moves to it, and only then is the old one stopped.

Can I run production on the free size?

Use the free size to build and test. A free service sleeps after 15 idle minutes, so anything customers depend on belongs on a paid size, which never sleeps.

What support do I get?

Every workspace can open support tickets and read the docs. The Growth plan adds email and WhatsApp support.

I am moving a Docker app from another platform. Is there help?

Yes. Bring the same Dockerfile, and you may qualify for migration credits against your Voroa bills.

Do I need a Dockerfile for a Node.js or Python app?

Usually not. Voroa builds most of them from their package files. See Node.js hosting, Python hosting, and our guide to Docker hosting in India.

Deploy your Dockerfile today

Connect your repository, set the runtime to Docker, and have a live URL in a few minutes. Moving from another platform? You may qualify for migration credits.

Free size, no card needed.