Django logo
Developer Stacks

Django Hosting on Your Own VPS

Django behind Gunicorn with PostgreSQL and Celery, on a server built for long-running processes.

Size a server for Django

Every stop is a real configuration you can deploy. Priced per 30 days, billed by the hour, exclusive of 18% GST.

2 vCPU
4 GB
40 GB
5 TB

What Django is

Django is a Python web framework with an ORM, an admin interface and a mature ecosystem. Unlike PHP, it does not run as a per-request script — a Django application is a long-running process that holds state between requests, which changes what hosting it needs.

The standard arrangement is Gunicorn or uWSGI running the application, NGINX in front handling TLS and static files, and PostgreSQL behind it. NGINX serves collected static and media files directly, because passing them through Python wastes a worker on something a web server does better.

Background work usually means Celery with Redis or RabbitMQ as the broker — another long-running process, supervised, restarted on deploy. That is three or four persistent processes on one machine, which is exactly the shape a VPS suits and shared hosting does not.

Why run Django on a VPS

Long-running WSGI and Celery processes under a supervisor, which is how Django actually runs.

PostgreSQL locally, which Django's ORM has the deepest support for.

Root access for system packages that Python wheels depend on.

Virtual environments and Python versions entirely under your control.

Django features

Gunicorn or uWSGI behind NGINX

PostgreSQL with direct access

Celery workers and beat scheduler

Redis as broker and cache

Static and media served by NGINX

Virtualenv per application

Free TLS with renewal

Recommended server

A starting point for Django, not a hard floor — size it on the sliders.

Memory4 GB to start; 8 GB with Celery workers and PostgreSQL
CPU2 vCPU; 4 when workers run beside web traffic
Storage40 GB, more if media uploads are significant
Operating systemUbuntu 22.04 LTS

How deployment works

Django is deployed in a virtualenv behind Gunicorn, with NGINX terminating TLS and serving static and media files directly. PostgreSQL runs locally, and Celery workers are supervised if the application uses them. Set DEBUG to false and configure ALLOWED_HOSTS before going live — a Django debug page leaks settings and stack traces to anyone who triggers an error.

It is your server. Django is installed directly on your VPS or VDS, not inside a container we manage. You get root over SSH, you can install anything alongside it, change its configuration, or remove it entirely. We do not hold a key to it.

What people run it for

Django applications

Standard deployments with static files, migrations and an admin.

Django REST APIs

DRF services with worker counts you set.

Background processing

Celery tasks for email, reports and integrations.

Data-adjacent applications

Django beside the scientific Python stack on one machine.

Django hosting questions

A VPS configured to run Django properly — Gunicorn, NGINX, PostgreSQL and optionally Celery — with root access to all of it.

Deploy Django on your own server

Root access, your choice of size, and no container between you and the application.