Build a complete Django app on free tiers. 10 infrastructure layers — WSGI hosting, Postgres, Redis/cache, auth, storage, email, monitoring, CI/CD, task queue, and search. Exact limits, growth costs.

The Complete Free Django/Python Stack

Published 2026-04-03 · Not yet reviewed

Everything you need to build and ship a Django app — without spending a dollar. This guide recommends the best free tier for each layer of your Django infrastructure — 10 layers from hosting to search — with exact limits for each. 15 of 33 figures in the tables below come from our records for 1,580 developer tools.

Designed for Python developers building SaaS products, AI/ML applications, APIs, and side projects with Django. Each recommendation includes alternatives, a "when you'll outgrow it" guide, "why not X" callouts for popular-but-not-recommended options, and stability notes based on our tracking of 424 real pricing changes. The limits on this page were read from vendor pricing pages between 2026-07-05 and 2026-10-04.

$0/month
Total infrastructure cost for a Django SaaS on free tiers
$0 covers the 7 of 8 picks whose free tier our own badge still reads as active. It does not cover Algolia (at risk).

🔋 Django's Batteries Included — What You Don't Need to Pay For

Stack Overview

Layer Recommended Key Limit Stability
🚀 Hosting & Deployment Railway Free $0 per month. Start with a 30-day free trial with $5 credits, then $1 per month. Up to 1 vCPU / 0.5 GB… active
🗄️ Database Neon Serverless Postgres with branching — free tier includes 100 CU-hours/month per project, 1 GB of Postgres… active
⚡ Cache & Redis Upstash Serverless Redis — 500K commands/month (256MB data). Vector: 200M vectors × dimensions and 10K queries a day… active
🔐 Authentication Django Built-in Auth Unlimited — included in Django —
📦 Object Storage Cloudflare R2 Object storage with zero egress fees — 10 GB storage, 1M writes, 10M reads/month free. active
✉️ Email & Transactional Resend Developer-first email API — 3K emails/month free (100/day cap), 3 domains, 1K marketing contacts/month, 5 AI… active
🐛 Monitoring & Error Tracking Sentry Developer tier: 1 user, 5K errors/month, 5M spans/month, 50 session replays, 5GB application logs, 1GB… active
⚙️ CI/CD GitHub Actions Free CI/CD for public repos (unlimited minutes). Private repos: 2,000 min/mo GitHub-hosted runners, 500 MB… active
⏱️ Task Queue & Background Jobs Upstash Serverless Redis — 500K commands/month (256MB data). Vector: 200M vectors × dimensions and 10K queries a day… active
🔍 Search Algolia Search-as-a-service. The Free plan needs no credit card and includes 10K search requests/month, 50K records… at risk

🚀 Hosting & Deployment

Recommended Railway Free active

Its Free plan opens with a 30-day trial carrying $5 of credits, then $1 of free credit a month, with WSGI/ASGI support, managed Postgres add-on, and auto-deploy from GitHub. Supports Gunicorn, Uvicorn, and Daphne out of the box. No sleep timer — your app stays warm. Nixpacks auto-detects Django projects and installs dependencies from requirements.txt or pyproject.toml.

Free $0 per month. Start with a 30-day free trial with $5 credits, then $1 per month. Up to 1 vCPU / 0.5 GB RAM per service. 0.5 GB of volume storage. 2 replicas during the free trial, then 1. Projects: 5 during trial…

When you'll outgrow it: When you exceed the $5 of usage that Hobby's $5/month includes (usually 1-2 services). Render's free tier spins down after 15 minutes of inactivity — cold starts of about one minute hurt Django apps. Fly.io has no free tier for new accounts — new signups get a trial of 2 hours runtime or 7 days, whichever comes first. PythonAnywhere offers a free tier with WSGI support but only one web app and no custom domain.
⚠️ Why not Heroku: No free tier since November 2022 — Eco dynos start at $5/month with mandatory credit card. Why not AWS Elastic Beanstalk: it has no fee of its own, but you pay for the EC2 instances it runs, from the Free plan's credits on a new account. Overkill for a Django side project.
Full comparison guide →

🗄️ Database

Recommended Neon Free active

Serverless Postgres — Django's recommended database. Free plan: 1 GB of storage and 100 CU-hours per project, up to 100 projects and 20 GB of storage in total, scales to zero after 5 minutes idle. Django's ORM, migrations, and django.contrib.postgres module all work perfectly. Neon's connection pooler handles Django's synchronous database connections efficiently. Branching lets you test migrations safely before applying to production.

Serverless Postgres with branching — free tier includes 100 CU-hours/month per project, 1 GB of Postgres storage per project (20 GB total across all projects), up to 100 projects, 10 branches per project, Neon Auth (60K…

No longer a free-tier pick: CockroachDB — free tier removed.

When you'll outgrow it: When you exceed 1 GB of storage. Supabase offers 500 MB Postgres with built-in auth and realtime, but pauses after 7 days inactive.
⚠️ Why not SQLite: Fine for local development, but most free hosting platforms use ephemeral filesystems — your database would be wiped on every deploy. Why not MySQL: Django supports it, but Postgres-specific features (JSONField, ArrayField, full-text search, range types) are too valuable to leave on the table.
Full comparison guide →

⚡ Cache & Redis

Recommended Upstash Free active

Serverless Redis with a generous free tier: 500K commands/month, 256 MB storage. Perfect for Django's cache framework (django.core.cache with django-redis backend), session storage, and Celery broker. Pay-per-request pricing means you only pay for what you use beyond free limits. REST API works anywhere — no persistent connections needed.

Serverless Redis — 500K commands/month (256MB data). Vector: 200M vectors × dimensions and 10K queries a day free. QStash: 1,000 messages/day free

  • Free Redis databases unused for at least 30 days are archived after warning emails. Their data is backed up and can be restored into a new database from the console. (From upstash.com/docs/redis/help/faq, read 2026-10-06.)
  • Entering a credit card upgrades a Redis database to pay-as-you-go. Paid databases are charged by their plan and do not get free 256MB data or 500K commands. (From upstash.com/pricing, read 2026-10-06.)
  • A Redis database created with no account by a POST request to upstash.com/start-redis is deleted after 3 days unless it is claimed into an account from the console link in the response. (From upstash.com/pricing, read 2026-10-06.)
When you'll outgrow it: When you exceed 500K commands/month. Redis Cloud offers 30 MB free with unlimited commands — better if you have high command volume but small data. For simple caching without Redis, Django's built-in database cache backend costs nothing extra.

🔐 Authentication

Recommended Django Built-in Auth Free (included)

Django's batteries-included advantage — django.contrib.auth is free at any scale. User model, login/logout views, password hashing (PBKDF2 + Argon2 support), permissions, groups, session management, CSRF protection, and the admin interface for user management. Add django-allauth for social login (Google, GitHub, etc.) — also free and open source.

django.contrib.auth — unlimited users, sessions, permissions, groups. Add django-allauth for social login.

When you'll outgrow it: You won't outgrow Django's built-in auth — it scales with your app. If you need managed social login without django-allauth, Auth0 offers 25,000 MAU free. Clerk gives 10,000 MAU with pre-built UI components. But for most Django projects, the built-in auth + django-allauth covers everything.
⚠️ Why not rolling your own: Django already rolled it for you. Custom auth code is the #1 source of security vulnerabilities in web apps. Use the framework's battle-tested implementation.
Full comparison guide →

📦 Object Storage

Recommended Cloudflare R2 Free active

Zero egress fees — the standout differentiator. 10 GB storage, 1 million Class A operations, 10 million Class B operations per month. S3-compatible API means django-storages works out of the box with the S3Boto3Storage backend. Perfect for Django file uploads (ImageField, FileField), static file hosting (collectstatic), and media storage.

Object storage with zero egress fees — 10 GB storage, 1M writes, 10M reads/month free.

When you'll outgrow it: When you exceed 10 GB storage. At scale, R2 saves dramatically vs S3: 1 TB stored + 10 TB egress costs ~$15/month on R2 vs ~$925/month on S3. Backblaze B2 offers 10 GB free and free egress up to 3x what you store, no CDN required — also works with django-storages. Supabase Storage gives 1 GB free with image transformations.
⚠️ Why not AWS S3: new accounts get no free storage, only Free plan credits that last at most 6 months; then storage costs $0.023/GB-month. Bandwidth is the part that does not expire — AWS S3 gives every account its first 100 GB of internet egress each month free, on an account of any age — so a Django app serving under 100 GB of media a month pays nothing for egress on S3 either. Past that S3 charges $0.09/GB and R2 still charges $0.
Full comparison guide →

✉️ Email & Transactional

Recommended Resend Free active

Modern developer-first email API. 3,000 emails/month, 100/day on free tier. Works with Django's send_mail() via django-anymail or a simple custom backend. TypeScript SDK is unnecessary — Resend's REST API is clean enough to call with requests or the official Python SDK. Domain verification, webhook delivery tracking.

Developer-first email API — 3K emails/month free (100/day cap), 3 domains, 1K marketing contacts/month, 5 AI credits, 30-day data retention

No longer a free-tier pick: Amazon SES — free tier removed.

When you'll outgrow it: When you exceed 3,000 emails/month or 100/day. Postmark offers 100 emails/month free but exceptional deliverability. Brevo gives 300 emails/day (9,000/month) with marketing automation.
⚠️ Why not SendGrid: Free tier removed May 2025. Many Django tutorials still reference SendGrid — those guides are outdated.
Full comparison guide →

🐛 Monitoring & Error Tracking

Recommended Sentry Developer active

Developer tier: 5,000 errors/month, 10,000 performance transactions, 50 session replays, 1 GB attachments. First-class Django SDK with automatic instrumentation for views, middleware, Celery tasks, database queries, and template rendering. The sentry-sdk Python package integrates in 3 lines of code in settings.py.

Developer tier: 1 user, 5K errors/month, 5M spans/month, 50 session replays, 5GB application logs, 1GB attachments

When you'll outgrow it: When you exceed 5,000 errors/month or need more than 1 team member. BetterStack combines uptime monitoring (10 monitors) with incident management. Grafana Cloud offers 10,000 series metrics + 50 GB logs + 50 GB traces — great if you want full observability beyond error tracking.
⚠️ Why not Datadog: Free tier has only 1-day metric retention — practically unusable for debugging. The per-host pricing model ($15/host/month for infrastructure) gets expensive fast.
Full comparison guide →

⚙️ CI/CD

Recommended GitHub Actions Free active

2,000 minutes/month on free tier for public repos (unlimited) and private repos. Django test runner integrates naturally — run pytest or manage.py test, lint with ruff/flake8, type-check with mypy. Matrix testing across Python 3.10-3.13 catches compatibility issues. Caching pip dependencies cuts CI time by 50-70%.

Free CI/CD for public repos (unlimited minutes). Private repos: 2,000 min/mo GitHub-hosted runners, 500 MB artifact storage, 10 GB cache/repo. Self-hosted runners remain free — planned $0.002/min charge was postponed…

When you'll outgrow it: When you exceed 2,000 minutes/month on private repos. Railway and Render auto-deploy from git with zero CI config — combine with GitHub Actions for tests only. GitLab CI offers 400 minutes/month on free tier.
Full comparison guide →

⏱️ Task Queue & Background Jobs

Recommended Upstash Free active

Celery + Upstash Redis is the Django-native solution for background jobs. Celery handles async tasks (email sending, image processing, report generation), periodic tasks (cron-like scheduling), and task chaining/grouping. Upstash's 500K commands/month free tier covers moderate task queue usage. Celery is free, open source, and the Django ecosystem's standard task runner.

Serverless Redis — 500K commands/month (256MB data). Vector: 200M vectors × dimensions and 10K queries a day free. QStash: 1,000 messages/day free

  • Free Redis databases unused for at least 30 days are archived after warning emails. Their data is backed up and can be restored into a new database from the console. (From upstash.com/docs/redis/help/faq, read 2026-10-06.)
  • Entering a credit card upgrades a Redis database to pay-as-you-go. Paid databases are charged by their plan and do not get free 256MB data or 500K commands. (From upstash.com/pricing, read 2026-10-06.)
  • A Redis database created with no account by a POST request to upstash.com/start-redis is deleted after 3 days unless it is claimed into an account from the console link in the response. (From upstash.com/pricing, read 2026-10-06.)
When you'll outgrow it: When you exceed 500,000 Redis commands a month. Redis Cloud's 30 MB free with unlimited commands is better for high-throughput task queues. Inngest offers 25,000 function runs/month but requires adapting away from Celery's Django-native patterns.
⚠️ Why not RQ (Redis Queue): Simpler than Celery but less feature-rich — no periodic tasks, no task chains, smaller ecosystem. Celery is the standard for a reason. Why not Django-Q2: Good lightweight alternative if Celery feels too heavy, but smaller community and fewer production deployments.

Stability Notes

Recent pricing changes affecting vendors in this stack. Based on our tracking of 424 deal changes across 1,580+ developer tools.

limits increased Neon: Neon raised the Free plan's Postgres storage from 0.5 GB to 1 GB per project and added a limit of 20 GB across all of an account's projects. Source ↗
pricing restructured Fly.io: Fly.io raised the price of memory on Machines to $6.00 per GB a month, from about $5, and left CPU prices unchanged. Every preset include... Source ↗
free tier removed CockroachDB: CockroachDB stopped offering its free Basic plan (50 million RUs and 10 GiB of storage free per month) to new deployments on 2026-09-15, ... Source ↗
limits reduced Algolia: Algolia replaced its Build plan with a Free plan between the pricing-page captures of 2026-08-10 and 2026-08-13; its Free Plan terms carr... Source ↗
pricing restructured Render: Render replaced its workspace plans. Bandwidth for the Hobby tier went from 100 GB to 5 GB included per month, then $0.15 per GB, and Hob... Source ↗
limits increased Neon: Neon's Free plan went from one member per organization to unlimited members. Source ↗
pricing restructured PythonAnywhere: PythonAnywhere dropped its $5-a-month Hacker plan, so the base paid plan is $10 a month. New free accounts lost MySQL and scheduled tasks... Source ↗
pricing postponed GitHub Actions: Self-hosted runner per-minute fee ($0.002/min) announced for March 2026 was postponed indefinitely after community backlash. Self-hosted ... Source ↗
pricing restructured Fly.io: Volume snapshots now billed — previously free automatic snapshots now cost $0.08/GB-month Source ↗
limits increased Neon: Neon raised the Free plan's project limit from 80 to 100, the last of seven increases since 2025-08-29, when the limit was 10. Source ↗
limits increased Neon: Neon made Neon Auth available on all plans, including Free. Source ↗
limits increased Auth0: Auth0 increased free tier from 7,500 to 25,000 monthly active users. Largest free tier expansion since Okta acquisition. Makes Auth0 comp... Source ↗

View all 424 pricing changes →

The First Paid Upgrade — What to Spend First

When you're ready to spend your first dollar, here's where it matters most. Sorted by which limits you'll likely hit first:

Layer Free Limit First Paid Plan What You Get
Database ⬆ hit first 1 GB storage per project Launch, usage-based $0.106/CU-hour, $0.35/GB-month, autoscaling up to 16 CU
Hosting ⬆ hit first $1 of free credit a month after 30-day $5 trial Hobby $5/mo $5 of usage included, no sleep, more RAM
Cache/Redis 500K cmds/mo Pay-as-you-go $0.2/100K Unlimited commands, 1 GB storage
Auth Unlimited Free forever N/A — scales with your app
Email 3,000 emails/mo Pro $20/mo 50,000 emails/mo, custom domains, analytics
Storage 10 GB $0.015/GB/mo Unlimited storage, still zero egress
Monitoring 5,000 errors/mo Team $26/mo 50,000 errors, unlimited members, integrations
Task Queue 500K cmds/mo Pay-as-you-go $0.2/100K Unlimited task dispatches
Search 10,000 records Build $0.50/1K req 100,000 records, more search requests
CI/CD 2,000 min/mo Team $4/user/mo 3,000 min/mo, required reviewers

The first paid upgrade: Database (Neon Launch, usage-based, no monthly minimum) + Hosting (Railway Hobby $5/mo) gives you Postgres beyond 1 GB at $0.35/GB-month, no sleep timers. Everything else — auth (unlimited with Django), email (3K/mo), monitoring (5K errors), cache/Redis (500K cmds/mo), storage (10 GB R2), search (10K records), CI (2,000 min) — stays free well past your first 1,000 users. Django's built-in auth means you never pay for authentication.

Architecture: How It Fits Together

A typical Django SaaS connects these layers:

User → Railway (Gunicorn + Django WSGI) → Neon (Postgres via psycopg2/dj-database-url) → Django Auth (built-in sessions + permissions) → Upstash Redis (cache + Celery broker) → R2 (file uploads via django-storages) → Resend (transactional emails via django-anymail) → Celery (background tasks, scheduled via Celery Beat) → Sentry (error tracking + performance) → Algolia (search index, synced from Django ORM) GitHub → GitHub Actions (CI: pytest + ruff) → Railway (CD: auto-deploy)

All connections use HTTPS APIs — no VPCs, no SSH tunnels, no complex networking. Each service is independently replaceable. The Celery worker runs as a separate Railway service.

Need a different framework? See our Free Next.js Stack for React full-stack, Free Startup Stack for framework-agnostic infrastructure, Free AI Stack for ML/AI development (many Django apps serve AI models), or Free DevOps Stack for infrastructure tooling. Or search our full index of 1,580+ developer deals.

Get this data in your AI editor

Get personalized Django stack recommendations from your AI assistant. Compare free tiers, check limits, and plan your infrastructure — directly in your editor.

claude mcp add agentdeals -- npx -y agentdeals