Back to all templates
Django logo

Django

Development512MB+ RAM

Production-ready Django application with PostgreSQL and Gunicorn

developmentframeworksdjangoopen-sourceself-hosteddocker

Deploy Django in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Django

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Django on a VPS with Server Compass

Use the Django template in Server Compass to deploy a generated Django starter with PostgreSQL-backed settings on your VPS, then verify the app in a browser.

About 8 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment.

Server Compass Apps tab before creating a Django app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Django

Use the template picker search to find Django in the Server Compass template catalog.

Searching for Django in the Server Compass template picker
4
Step 4

Select the Django template

Choose the Django template. Server Compass fills the compose services, variables, and build settings for this template.

Django template selected in Server Compass
5
Step 5

Review the Django settings

Confirm the app name and generated settings. In this run, the app was named django-demo.

Reviewing Django project settings and compose services
6
Step 6

Deploy Django

Review the generated compose settings, confirm the port check passes, and click Deploy.

Reviewing Django generated settings before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads files, starts containers, and verifies the stack.

Server Compass deploying the Django template on the VPS
8
Step 8

Confirm Django is running

After deployment finishes, return to the Apps tab and confirm the Django app is marked Running.

Django template running in the Server Compass Apps tab
9
Step 9

Open Django in the browser

Open the application URL in a browser. The loaded Django page confirms the template is reachable.

The deployed Django app loaded in a browser

After Django Opens

  • Replace the generated starter files with your real Django project before production use.
  • Run application migrations for your real project after deployment.
  • Add a domain and HTTPS, then narrow ALLOWED_HOSTS to trusted hostnames.

Verified Result

Django loaded successfully at http://167.233.138.53:8000/.

Django deployment questions

What does the Django template deploy?

Use the Django template in Server Compass to deploy a generated Django starter with PostgreSQL-backed settings on your VPS, then verify the app in a browser.

Which port did the tutorial use?

The tutorial used host port 8000, mapped to container port 8000.

Should this become a blog post?

No. The deployment guide should live on the Django template detail page and be linked from the reusable template deployment docs page.

Manual Setup Guide

Set Up Django from Terminal

Get your hands dirty: manual Django deployment guide for developers.

1

Access Your VPS Terminal

Use your terminal to securely access your server. You'll need your server's IP address.

terminal
# Connect via SSH
ssh root@your-vps-ip

# Alternative with key file
ssh -i /path/to/key root@your-vps-ip

First time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh

2

Set Up the Deployment Folder

Initialize a project folder on your server.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/django
cd ~/apps/django
3

Set Up the Stack Definition

Use this Docker Compose configuration for your deployment:

docker-compose.yml
services:
  django:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    environment:
      - DJANGO_SETTINGS_MODULE=config.settings
      - WSGI_APPLICATION=config.wsgi:application
      - SECRET_KEY=<your-secret-key>
      - DATABASE_URL=postgresql://django:<your-db-password>@db:5432/django_db
      - ALLOWED_HOSTS=*
      - DEBUG=False
    volumes:
      - static_volume:/app/staticfiles
      - media_volume:/app/media
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_DB=django_db
      - POSTGRES_USER=django
      - POSTGRES_PASSWORD=<your-db-password>
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U django -d django_db"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:
  static_volume:
  media_volume:
Environment Variables
PORTDjango application port(default: 8000)
SECRET_KEYDjango secret key
DB_NAMEDatabase name(default: django_db)
DB_USERDatabase user(default: django)
DB_PASSWORDDatabase password
DJANGO_SETTINGS_MODULESettings module(default: config.settings)
4

Start the Containers

Bring up your containers in detached mode.

terminal
# Start all services
docker compose up -d

# List running containers
docker compose ps

# Watch the logs
docker compose logs -f
5

Set Up Firewall Rules

Allow the application port through your server's firewall.

terminal
# Allow the application port through firewall
sudo ufw allow 8000/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8000
Skip the Terminal

Let Server Compass do the heavy lifting.

Why type commands when you can click? Deploy Django the easy way with Server Compass.

  • Beautiful interface
  • One-click deploys
  • Let's Encrypt SSL
  • Zero downtime
  • Container monitoring
  • Easy rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Django with Server Compass, complete these steps to finish setup

1

Run migrations: docker exec <container> python manage.py migrate

2

Create superuser account

Need help? Check out our documentation for detailed guides.

Django FAQ

Common questions about self-hosting Django

How do I deploy Django with Server Compass?

Simply download Server Compass, connect to your VPS, and select Django from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Django?

Django requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Django data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Django backup and restore procedures.

How do I update Django to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Django image will be pulled and deployed with zero downtime.

Is Django free to self-host?

Django is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Django?

Download Server Compass and deploy Django to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass