Guides

Deploy a Python Django app from GitHub in India

Deploy a Django app from GitHub in minutes on Voroa — no server or VPS setup. Python hosting in India, billed in INR with GST invoices and UPI. Start free.

This guide shows you how to deploy a Python Django app from a GitHub repository to Voroa — from your first build to a live URL that redeploys on every push. There is no VPS to rent and no server to configure by hand: connect your repository and Voroa builds and runs your Django app, hosted in India and billed in rupees. The same steps work for a Flask app; only the start command differs.

Before you start

  • A GitHub account with your Django repository.
  • A requirements.txt (or Pipfile) listing your dependencies, including gunicorn to serve the app in production.
  • Your app must listen on the port Voroa provides. You do not hard-code a port; you read it from the environment in your start command (shown below).

Step 1 — Connect GitHub and create a service

From the dashboard, select Connect GitHub and install Voroa on the repository you want to deploy. Then select New service, pick the repository and branch, and give the service a name.

Step 2 — Set the start command

Django’s development server is not meant for production, so serve your app with gunicorn and bind it to the platform port. Set your start command from your service settings, replacing myproject with the folder that contains your wsgi.py:

gunicorn myproject.wsgi --bind 0.0.0.0:$PORT

For a Flask app, point gunicorn at your app object instead, for example gunicorn app:app --bind 0.0.0.0:$PORT. See build and start commands for where to set these.

Step 3 — Allow your Voroa host

Django rejects requests from hosts that are not in ALLOWED_HOSTS. Read the value from an environment variable so you do not have to hard-code your live URL:

import os
ALLOWED_HOSTS = os.environ.get("ALLOWED_HOSTS", "").split(",")

Set ALLOWED_HOSTS to your Voroa service URL (and later your custom domain) in environment variables. Add your SECRET_KEY and any database settings there too — never commit secrets to your repository.

Step 4 — Run migrations and collect static files

If your app uses a database or serves static assets, run these as part of your build. Set your build command to install dependencies and prepare the app:

pip install -r requirements.txt && python manage.py collectstatic --noinput && python manage.py migrate

Step 5 — Deploy

Select Deploy. Voroa installs your dependencies, runs your build, and streams the logs as it goes. When the build finishes, your service gets a live URL you can open right away.

Step 6 — Ship on every push

Turn on auto-deploy and every push to your branch ships a new build automatically. See how to enable auto-deploy.

Python hosting in India, billed in rupees

Voroa runs your Django or Flask app on infrastructure hosted in India, so requests from your users stay fast and your data stays close to home. Billing is entirely in rupees — no dollar invoices and no forex markup. Every payment comes with a proper GST invoice, so a registered business can claim input tax credit, and you can pay by UPI, an Indian card, or netbanking. Start on the free tier and upgrade when you need an always-on service, a custom domain, or more resources. See pricing.

Next steps

Last updated July 10, 2026