Deploying a Django app shouldn't take a full day of DevOps work. Railway changes that.
requirements.txt with gunicorn and whitenoiseProcfile with: web: gunicorn yourproject.wsgi --bind 0.0.0.0:$PORTSign in to Railway, click "New Project", select "Deploy from GitHub Repo". Pick your repo. Railway auto-detects Python.
Click "+ New" → "Database" → "PostgreSQL". Railway automatically sets the DATABASE_URL environment variable. Your Django app picks it up if you're using django-environ or dj-database-url.
Add these in your service's Variables tab:
- SECRET_KEY — generate one with python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
- DEBUG = False
- ALLOWED_HOSTS = .railway.app
Railway builds and deploys automatically. Run python manage.py migrate and python manage.py createsuperuser in Railway's shell.
That's it. Your Django app is live with PostgreSQL, SSL, and auto-deploys on every push.
The whole process takes under 10 minutes. We use Railway for all our client projects at Altitudz — it's the fastest path from code to production.