Introduction
FastCMS is a production-ready Backend-as-a-Service built with FastAPI and Python — your open-source alternative to Supabase and PocketBase.
Introduction
FastCMS is an open-source Backend-as-a-Service (BaaS) built with FastAPI, SQLAlchemy async, and Python. It provides everything you need to build data-driven applications — without managing infrastructure.
What is FastCMS?
FastCMS gives your frontend (or mobile app) a complete backend in minutes:
- Dynamic Collections — define schemas on the fly, auto-creates database tables
- Authentication — JWT, OAuth (29 providers), 2FA/TOTP, API Keys
- Access Control — row-level permission rules per collection
- Real-time — WebSocket subscriptions and SSE
- File Storage — local, S3, or Azure Blob with thumbnail generation
- Admin Dashboard — manage everything from a web UI
- Plugin System — extend with custom plugins
Who is it for?
FastCMS is ideal for:
- SaaS applications — multi-tenant apps with auth collections per user type
- Content platforms — blogs, e-commerce, media with dynamic schemas
- Internal tools — admin panels with access-controlled data
- Rapid prototyping — get a full REST API with auth in under 10 minutes
Tech Stack
| Layer | Technology |
|---|---|
| Framework | FastAPI 0.115, Python 3.11+ |
| Database | SQLAlchemy 2.0 async + Alembic, SQLite / PostgreSQL |
| Auth | JWT (python-jose) + bcrypt (passlib) |
| Real-time | WebSockets + SSE + Redis pub/sub |
| Storage | Local / AWS S3 / Azure Blob |
| Admin UI | Jinja2 templates |
Quick Start
# Clone the repository
git clone https://github.com/aalhommada/fastCMS.git
cd fastCMS
# Set up virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
alembic upgrade head
# Start the server
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadThen open http://localhost:8000/admin to create your first admin account.
Next Steps
- Getting Started — full installation guide with environment setup
- Collections — learn how to define your data schema
- Authentication — set up users and login flows
- API Reference — complete REST API documentation