A production-ready Cookiecutter template for building Django SaaS apps fast.
- Stack: Django 6 + Python 3.14 + Tailwind + Stimulus
- Pragmatic defaults: auth, payments (optional), email, API, landing pages, blog/docs (optional)
- Deployment-ready: Docker Compose (local + prod) + GitHub Actions (CapRover)
cookiecutter git@github.com:rasulkireev/django-saas-starter.gitThen follow the generated project’s README.md for local development + deployment.
Important: in generated projects, run python manage.py makemigrations (without app labels) before feature work so all app model changes are captured.
- ✅ Django 6
- ✅ Python 3.14
- ✅ Environment variables via django-environ
- ✅ User auth via django-allauth
- ❓ Social auth via django-allauth
- ❓ Google (preconfigured)
- ❓ GitHub (preconfigured)
- ✅ Tailwind CSS for styling
- ✅ StimulusJS for interactivity
- ✅ Webpack setup (assets pipeline)
- ✅ SEO-friendly templates (meta tags, JSON-LD schema, OG images)
- ✅ Landing + pricing + auth pages + sitemap
- ✅ Feedback widget
- ❓ User-facing blog (app + templates)
- ❓ User-facing docs (app + templates)
- ✅ API foundation via django-ninja
- ✅ Auth modes included (session, token, superuser)
- ✅ Postgres 18 Docker images preconfigured
- ✅
pgvectorenabled - ✅
pg_stat_statementsenabled - ❓ S3-compatible media storage (includes Minio for local + prod)
- ✅ Email via Anymail + Mailgun (Mailhog for local)
- ✅ Styled UI message component
- ❓ MJML for email templating
- ❓ Buttondown for newsletters
- ✅ Docker Compose (local + prod)
- ✅ Makefile helpers
- ✅ pytest
- ✅ Pre-commit: ruff + djlint
- ✅ Automated deploy to CapRover via GitHub Actions
- ❓ Optional CI workflow (runs Django checks + pytest on PRs)
- ✅ Structlog (console in dev, JSON in prod)
- ❓ Sentry
- ❓ Logfire
- ❓ Healthcheck endpoint
- ❓ Posthog
- ✅ Cursor Rules
- ❓
pydanticaifor agents in-app
This template aims to be:
- Boring to maintain (standard Django patterns, explicit config)
- Fast to ship (common SaaS pieces already wired)
- Easy to extend (clear app boundaries and sensible defaults)
Issues and PRs are welcome. If you’re proposing a bigger change, open an issue first so we can align on scope.
This repo includes pytest-based tests that generate a project via Cookiecutter and assert the expected files are present/removed for various options.
uv run --group test pytest