Deploy Django
Deploy a Django app to Aloof in a few minutes. You need the CLI (curl -fsSL https://www.aloof.si/cli/aloof -o aloof && chmod +x aloof) and an account (aloof signup you@example.com, free tier, no card).
1. Generate config
aloof launch detects Django from manage.py + requirements.txt with django and writes a Dockerfile (unless you have one), aloof.toml and .dockerignore.
$ aloof launch --name my-django
2. Review aloof.toml
app = "my-django" primary_region = "eu-de" [http_service] internal_port = 8080 auto_stop_machines = true min_machines_running = 0 [processes] web = "gunicorn.wsgi --bind 0.0.0.0:$PORT" [deploy] release_command = "python manage.py migrate --noinput"
Aloof sets PORT=8080. With min_machines_running = 0 the app sleeps when idle and you pay per second only while it runs.
3. Database (optional)
$ aloof pg create my-django-db --plan pg-dev $ aloof pg attach my-django-db my-django # sets DATABASE_URL over the private network
4. Deploy
$ aloof deploy live: https://my-django.aloof.si/
The directory is uploaded (respecting .dockerignore) and built remotely. The release command runs before new instances take traffic; if it fails, the previous release keeps serving.
Notes for Django
Set ALLOWED_HOSTS to include .aloof.si and your custom domain, and CSRF_TRUSTED_ORIGINS to your https origin. Serve static files with WhiteNoise; collectstatic runs at build time.