Django Hosting, Deploy from GitHub
Deploy Django 5.2 LTS from a public Git repo on VeloxaHost: Python 3.11 in a venv, Gunicorn behind automatic HTTPS, pip install on each deploy.
A Django site on VeloxaHost is a Python site: its own container with
Python 3.11, a virtual environment at /opt/app/venv, and your app running
under Gunicorn as a system service. The site's web server sits in front of it
on your domain, gets a free Let's Encrypt certificate, and forwards every
request to Gunicorn on 127.0.0.1:8000. You push to Git; a deploy pulls the
code, runs pip install -r requirements.txt and restarts the app.
Python 3.11 decides the Django version. Django 6.0 and 6.1 need Python 3.12 or newer, so on a Python site you run Django 5.2, the long-term support release, which gets security fixes until April 2028.
Deploy from Git
Prepare the repository
The deploy reads requirements.txt, not pyproject.toml, so keep one at the
root of the app (or of the Subdirectory you deploy) with at least:
Django>=5.2,<6.0
gunicorn
whitenoise
Then set Django up for production, as its deployment checklist asks:
- read
SECRET_KEYfrom the environment, keepDEBUG = False, and setALLOWED_HOSTS = ["example.com", "www.example.com"]; - set
CSRF_COOKIE_SECUREandSESSION_COOKIE_SECUREtoTrue; - serve static files with WhiteNoise: add
"whitenoise.middleware.WhiteNoiseMiddleware"right afterSecurityMiddlewareand setSTATIC_ROOT = BASE_DIR / "staticfiles". Every request goes to Gunicorn, so nothing else serves/static/.
You do not need SECURE_PROXY_SSL_HEADER. Gunicorn trusts the
X-Forwarded-Proto header from 127.0.0.1 by default, so Django already
sees requests as HTTPS.
Create and deploy the site
In the console, open Websites and click Add Website.
Enter your domain. Under Hosting type, pick Python.
In Start Command, enter
gunicorn -b 127.0.0.1:8000 -w 2 mysite.wsgi, with your project's package in place ofmysite. The command runs from/opt/appwith the virtual environment's programs, so its first word must be something your requirements install. Left empty, the site runsgunicorn -b 127.0.0.1:8000 app:app.Click Create Website and add the DNS records shown under DNS — point your domain here. HTTPS is issued once they resolve.
Under Advanced, click Open Console (a root shell in the site's container) and give the app its settings and its release steps:
systemctl edit veloxa-app[Service] Environment=DJANGO_SECRET_KEY=change-me ExecStartPre=/opt/app/venv/bin/python manage.py migrate --noinput ExecStartPre=/opt/app/venv/bin/python manage.py collectstatic --noinputThese lines live outside
/opt/app, so deploys keep them, and the twoExecStartPresteps run before every start, which includes every deploy.In the Deploy from Git card, click Deploy, enter the Repository URL (https) and Branch, pick Auto-deploy (Manual / webhook only, Every hour or Every day) and click Deploy Now. The result shows under Recent deploys.
To deploy on every push, call the CI Webhook URL from your CI:
curl -fsS -X POST "$VELOXAHOST_DEPLOY_HOOK". Keep it in your CI secrets; it carries the site's token.
A deploy replaces everything in /opt/app with the repository except the
venv folder. Keep anything that must survive, such as uploaded media or a
SQLite file, outside /opt/app.
Supported versions
| Component | Version |
|---|---|
| Python | 3.11, from Debian 12's packages |
| Django | 5.2 LTS (6.0 and newer need Python 3.12) |
| Gunicorn | Whatever your requirements.txt installs |
There is no Python version picker. Python 3.11 gets security fixes until October 2027.
Which plan fits
Every hosting plan runs Python. A small Django site with two Gunicorn workers fits Launch ($6.99/month, 1 vCPU and 1 GB RAM, 3 websites). Pick Grow ($12.99/month, 2 vCPU and 4 GB RAM, 10 websites) for more workers or a heavier admin. Each site can use up to its plan's RAM and vCPU. Its disk is its share of the plan's storage: 5 GB on Launch and Grow, 2 GB on Scale and Business. Yearly billing costs ten times the monthly price. See pricing.
Limits and when to use a VPS
- No database server. A Python site has none. SQLite works for a small
site if the file is outside
/opt/app; otherwise connect to a database you run on a VPS, such as PostgreSQL. - One app process. There is no worker manager for Celery or Django-Q. Run them on a VPS, or as the one-click Python (Docker) app, which runs Python 3.12.
- No build or migration step in the deploy. The
ExecStartPrelines above are how you add them. - The install must finish within five minutes, and a failed
pip installdoes not fail the deploy today. If the site errors after a deploy, readjournalctl -u veloxa-appin the console. - Public repositories only. The deploy stores no Git credentials.
If you need Django 6, which needs Python 3.12 or newer, use a VPS, where you choose the runtime, or the Python (Docker) app above. The same steps suit Flask, and an async app fits FastAPI hosting.
FAQ
Can I run Django 6 on VeloxaHost hosting?
Not on a Python site. Django 6.0 and 6.1 need Python 3.12 or newer, and Python sites have Python 3.11. Use Django 5.2 LTS, or run Django 6 on a VPS.
How do I run migrations on each deploy?
Add ExecStartPre=/opt/app/venv/bin/python manage.py migrate --noinput to
the app's service with systemctl edit veloxa-app. Every deploy restarts
the service, so migrations run first each time.
Why do my static files return 404?
The site forwards every request to Gunicorn, so Django has to serve
/static/ itself. Add WhiteNoise and run collectstatic before start, as
shown above.
Where do I put environment variables?
In the app's service: systemctl edit veloxa-app, then
Environment=NAME=value lines under [Service], then
systemctl restart veloxa-app. The console has no environment form yet.
Can I change the start command later?
It is written into the service when the site is created. Change it in the
console with systemctl edit veloxa-app: an empty ExecStart= line, then
ExecStart=/opt/app/venv/bin/gunicorn ... with the new command.
Django sites run on any managed hosting plan, from Launch at $6.99/month. Framework facts were checked on 2026-10-18 against: docs.djangoproject.com/en/stable/faq/install, www.djangoproject.com/download, docs.djangoproject.com/en/stable/howto/deployment/wsgi/gunicorn, docs.djangoproject.com/en/5.2/howto/deployment/checklist, gunicorn.org/reference/settings, whitenoise.readthedocs.io/en/stable/django.html, packages.debian.org/bookworm/python3.
Ready to deploy?
Start a free trial, or compare plans to match your team's scale.