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(orPipfile) listing your dependencies, includinggunicornto 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
- Add a managed database for your app’s data.
- Add a custom domain with automatic HTTPS.
- Set environment variables for configuration and secrets.