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.
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.
| Memory | 4 GB to start; 8 GB with Celery workers and PostgreSQL |
|---|---|
| CPU | 2 vCPU; 4 when workers run beside web traffic |
| Storage | 40 GB, more if media uploads are significant |
| Operating system | Ubuntu 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.
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
Related applications
Deploy Django on your own server
Root access, your choice of size, and no container between you and the application.