Where can you host a Django app with GitHub deploys?
On a Frontend pack with a PostgreSQL pack beside it: connect the repository, the Python app is detected, and it runs under gunicorn on its own CPU, memory and disk. Each push to the branch deploys, and the site has a terminal for manage.py commands. The price is flat per pack, so a small Django app with a database costs the same every month whatever the traffic.
Step by step
- 1
Prepare the repository
Make sure requirements.txt lists gunicorn and your database driver, and that settings read the secret key, the debug flag, the allowed hosts and the database from environment variables.
- 2
Deploy it
Dashboard → Deployments → New: select the repository and a pack. Set the start command to gunicorn with your project's WSGI module. The order creates an invoice and the build starts once it is paid.
Start command
gunicorn myproject.wsgi:application --bind 0.0.0.0:$PORT - 3
Create PostgreSQL and connect it
Dashboard → Databases → New: choose PostgreSQL, then set DATABASE_URL on the site's Environment tab along with your secret key and the site's domain in the allowed hosts.
- 4
Migrate and collect static files
Run both from the site's terminal, or add them before gunicorn in the start command.
In the site terminal
python manage.py migrate python manage.py collectstatic --noinput - 5
Attach the domain
Site → Domains tab → enter the domain and create the DNS record it shows. Add the domain to the allowed hosts and to the trusted origins for CSRF.
What breaks, and the fix
- Static files return 404
- Serve them with WhiteNoise, or run collectstatic and point the static root at a folder the server serves.
- Bad Request (400) on the new domain
- The domain is missing from the allowed hosts setting.
What it costs
- A Frontend pack from $1/mo; $5/mo for the pack most production apps pick (1 vCPU / 4 GB / 25 GB).
- A PostgreSQL pack from $10/mo.
App
$1/mo
Starter Frontend pack, 1 vCPU / 1 GB RAM / 10 GB
Database, users and files
$5/mo
Smallest dedicated Supabase pack; several projects fit on one
Questions
Does Celery work?+
Yes. Add a Redis pack as the broker and deploy the worker as a second site from the same repository, or run web and worker together on a Cloud Instance.
Can I use FastAPI or Flask instead?+
Yes. Any Python web app that listens on the port it is given deploys the same way, with uvicorn or gunicorn as the server.
Where should media uploads go?+
In an S3-compatible bucket. Do not rely on files written next to the code surviving a redeploy.
Can I run manage.py commands?+
Yes, from the site's web terminal, or through an agent over MCP with site_terminal.
Do I need a Dockerfile?+
No. A Dockerfile in the repository is used if present; otherwise the Python build is detected.
What does it cost?+
From $1/mo for the app and from $10/mo for PostgreSQL.