Intent hub

Deploy Django

Step-by-step production deployment guides for Django, Nginx, and Gunicorn.

Best for developers moving from local setup to a reliable first production release.

Browse this hub

Grouped by guide type, then difficulty

25 of 25 guides

Narrow the list by experience level or stack, then work through the matching guides in recommended order.

Difficulty
All levels
Beginner
Intermediate
Advanced
Stack
All stacks
nginx · 8
gunicorn · 7
postgresql · 6
docker · 3
celery · 2
cloud · 2
systemd · 2
uvicorn · 2
whitenoise · 2
ansible · 1
aws-ec2 · 1
aws-s3 · 1
caddy · 1
certbot · 1
ci-cd · 1
digitalocean · 1
django-storages · 1
fly-io · 1
gcp-cloud-run · 1
github-actions · 1
railway · 1
redis · 1
render · 1
ubuntu · 1
Foundations

Foundations guides

Learn the concepts, tradeoffs, and prerequisites before you change production infrastructure.

3
Beginner
3 guides
Deployment
Foundations
Beginner
django
gunicorn
Django WSGI vs ASGI: Which One Should You Deploy?

When you deploy Django in production, you will see both WSGI and ASGI recommended.

#django
#gunicorn
#uvicorn
Deployment
Foundations
Beginner
django
whitenoise
Django Static vs Media Files in Production

Many Django deployments break because static files and media files are treated as the same thing.

#django
#whitenoise
Deployment
Foundations
Beginner
django
cloud
Best Hosting Options for Django Deployment in 2026

Choosing the best hosting for Django deployment is not about finding the cheapest server or the most popular cloud.

#django
#cloud
Tasks

Tasks guides

Follow actionable deployment and operations guides you can work through step by step.

22
Beginner
6 guides
Deployment
Tasks
Beginner
django
docker
How to Dockerize a Django App for Production

A Dockerized Django app that works in development is not automatically safe for production.

#django
#docker
Deployment
Tasks
Beginner
django
render
How to Deploy Django on Render

It is easy to get a Django app running on Render, but it is also easy to ship an unsafe or incomplete production setup.

#django
#render
#postgresql
Deployment
Tasks
Beginner
django
railway
How to Deploy Django on Railway

If you want to deploy Django on Railway, the main challenge is not just getting a container to start.

#django
#railway
#postgresql
Deployment
Tasks
Beginner
django
nginx
Configure HTTPS for Django with Let's Encrypt

A Django app running over plain HTTP is not safe for production. Login sessions, admin access, CSRF tokens, API traffic, and password resets can all be exposed in transit if TLS...

#django
#nginx
#certbot
Deployment
Tasks
Beginner
django
whitenoise
How to Serve Django Static Files with WhiteNoise

Django does not safely serve static files in production by default. With DEBUG=False, you still need a production path for CSS, JavaScript, fonts, and images collected from your...

#django
#whitenoise
Deployment
Tasks
Beginner
django
postgresql
How to Connect Django to PostgreSQL in Production

Connecting Django to PostgreSQL in production is more than changing the DATABASES setting.

#django
#postgresql
Intermediate
15 guides
Deployment
Tasks
Intermediate
django
gunicorn
Deploy Django with Gunicorn and Nginx on Ubuntu

Moving a Django app from local development to production usually fails on the same points: process management, reverse proxy configuration, static files, secrets, TLS, and safe...

#django
#gunicorn
#nginx
#ubuntu
Deployment
Tasks
Intermediate
django
uvicorn
Deploy Django ASGI with Uvicorn and Nginx

If you want to deploy Django ASGI with Uvicorn and Nginx, python manage.py runserver is not a production option.

#django
#uvicorn
#nginx
Deployment
Tasks
Intermediate
django
caddy
Deploy Django with Caddy and Automatic HTTPS

If you want to deploy Django with Caddy in production, the main challenge is not just putting a reverse proxy in front of the app.

#django
#caddy
#gunicorn
Deployment
Tasks
Intermediate
django
docker
Deploy Django with Docker Compose in Production

Many Docker Compose examples for Django are built for local development, not production.

#django
#docker
#postgresql
#nginx
Deployment
Tasks
Intermediate
django
digitalocean
How to Deploy Django on a DigitalOcean Droplet

If you want to deploy Django on a DigitalOcean Droplet, you need more than python manage.py runserver.

#django
#digitalocean
#gunicorn
#nginx
Deployment
Tasks
Intermediate
django
aws-ec2
Deploy Django on AWS EC2 Step by Step

To deploy Django on AWS EC2 reliably, you need more than python manage.py runserver.

#django
#aws-ec2
#gunicorn
#nginx
Deployment
Tasks
Intermediate
django
fly-io
Deploy Django on Fly.io with Postgres

A production-safe Fly.io Django deployment needs more than fly launch and fly deploy.

#django
#fly-io
#postgresql
Deployment
Tasks
Intermediate
django
gcp-cloud-run
Deploy Django on Google Cloud Run

If you want to deploy Django on Google Cloud Run, the basic path is straightforward: build a container and run it. The production-safe part is where most deployments fail.

#django
#gcp-cloud-run
#docker
Deployment
Tasks
Intermediate
django
gunicorn
How to Configure systemd for Gunicorn and Django

Running Gunicorn manually for a Django app is fragile. If your SSH session closes, the process can stop.

#django
#gunicorn
#systemd
Deployment
Tasks
Intermediate
django
nginx
How to Configure Nginx for Django in Production

A production Django stack should not expose Gunicorn or Uvicorn directly to the internet.

#django
#nginx
Deployment
Tasks
Intermediate
django
aws-s3
How to Store Django Media Files on Amazon S3

Local disk storage for Django media files works in development, but it breaks quickly in production.

#django
#aws-s3
#django-storages
Deployment
Tasks
Intermediate
django
postgresql
Connect Django to Managed PostgreSQL Securely

Moving a Django app from a local database or self-managed PostgreSQL server to a managed PostgreSQL service sounds simple: update the host, username, and password, then deploy.

#django
#postgresql
#cloud
Deployment
Tasks
Intermediate
django
celery
Configure Redis and Celery for Django Production

Running background jobs in Django production is not just a matter of installing Celery and pointing it at Redis.

#django
#celery
#redis
Deployment
Tasks
Intermediate
django
celery
Run Celery Workers with systemd for Django

Running Celery workers manually in production is fragile. If you start a worker from a shell and disconnect, the process may stop.

#django
#celery
#systemd
Deployment
Tasks
Intermediate
django
github-actions
Deploy Django with GitHub Actions CI/CD

Manual Django deployments usually fail in predictable ways: someone forgets to run migrations, static files are outdated, the wrong branch gets pushed to production, or a restar...

#django
#github-actions
#ci-cd
Advanced
1 guides
Deployment
Tasks
Advanced
django
ansible
Deploy Django with Ansible: Step-by-Step

Manual Django deployment usually starts simple and becomes unreliable fast. You SSH into a server, pull code, install packages, update environment variables, run migrations, res...

#django
#ansible
#nginx
#gunicorn
Adjacent intent
2026 · django-deployment.com - Django Deployment knowledge base