107 lines
5.5 KiB
Markdown
107 lines
5.5 KiB
Markdown
# BottleCRM: CRM for AI and People
|
|
|
|
A free, open-source, self-hosted, multi-tenant CRM built with Django REST Framework, SvelteKit and Flutter.
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
**BottleCRM is an open source CRM you run on your own infrastructure.** It covers the full
|
|
customer lifecycle: leads, accounts, contacts, opportunities, support tickets, tasks and
|
|
invoices: through a SvelteKit web app, a native Flutter mobile app, and a documented REST API
|
|
sharing one Django backend. PostgreSQL Row-Level Security isolates each organization's data at
|
|
the database layer, so a single deployment serves one startup or hundreds of tenants.
|
|
|
|
No per-seat pricing, no user caps, no feature paywall. MIT licensed: fork it, self-host it, own
|
|
your data.
|
|
|
|
**[Try it free →](https://bottlecrm.io/)** · [Features](https://bottlecrm.io/features) · [Product docs](https://bottlecrm.io/docs) · [Pricing](https://bottlecrm.io/pricing) · [Migrate from Salesforce or HubSpot](https://bottlecrm.io/migration)
|
|
|
|
(That's the marketing site's product documentation. For the technical documentation (self-hosting, architecture, the API, contributing) see [Documentation](#documentation) below.)
|
|
|
|
## Why BottleCRM
|
|
|
|
- **Free forever, MIT licensed**: unlimited users and records, no subscription. A genuinely
|
|
self-hosted CRM alternative to Salesforce, HubSpot and Pipedrive.
|
|
- **Multi-tenant by design**: PostgreSQL Row-Level Security enforces tenant isolation in the
|
|
database, not just in application code. Run it for a single company or as a SaaS for many.
|
|
- **Agent-ready REST API**: point Claude, Cursor, Codex, Gemini or any agent at the API with a
|
|
personal access token and let it search, create and update records *as you*, inheriting your
|
|
role, org and permissions. An OpenAPI schema ships with it, so the agent can discover the
|
|
endpoints itself.
|
|
- **Web, native mobile and API**: one Django REST backend behind a Svelte 5 web app and a
|
|
Flutter app for iOS and Android.
|
|
- **A stack you can actually hack on**: Django 6 / DRF and Svelte 5, not a bespoke in-house
|
|
framework. If your team writes Python, it can extend this on day one.
|
|
- **Real support tooling**: a full helpdesk with SLA timers, approvals, escalations, macros and
|
|
a knowledge base, not a bolted-on ticket list.
|
|
|
|
## How it compares
|
|
|
|
| | BottleCRM | SaaS CRM (Salesforce, HubSpot) | Typical open source CRM |
|
|
|---|---|---|---|
|
|
| **Cost** | Free, unlimited users | Per seat, per month | Free core, often paid tiers |
|
|
| **Hosting** | Self-hosted (managed hosting available) | Vendor cloud only | Self-hosted |
|
|
| **Data ownership** | Total. It is your database | Vendor-controlled | Total |
|
|
| **Multi-tenancy** | Database-level RLS | Not applicable | Uncommon |
|
|
| **Native mobile app** | Yes, Flutter, iOS + Android | Yes | Uncommon |
|
|
| **AI agent access** | Full REST API, per-user tokens | Proprietary add-ons | Uncommon |
|
|
| **Stack** | Django REST + SvelteKit | Closed source | Varies |
|
|
| **License** | MIT | Proprietary | Varies, often GPL/AGPL |
|
|
|
|
## Quick start
|
|
|
|
```bash
|
|
git clone https://github.com/django-crm/Django-CRM.git
|
|
cd Django-CRM
|
|
docker compose up --build
|
|
```
|
|
|
|
Frontend at http://localhost:5181, API and Swagger UI at http://localhost:8000/swagger-ui/. See
|
|
the [Docker quick start guide](docs/getting-started/docker-quick-start.md) for the default admin
|
|
login, loading demo data, and what each service does.
|
|
|
|
## One-click deploy
|
|
|
|
[](https://repocloud.io/details/BottleCRM/)
|
|
|
|
## Documentation
|
|
|
|
The full documentation (setup, self-hosting, architecture, the REST API, and contributing) is
|
|
built from this repository's [`docs/`](docs/) with MkDocs Material and publishes to Read the Docs
|
|
at <https://django-crm.readthedocs.io/en/latest/>. Four starting points:
|
|
|
|
- **[Getting started](docs/getting-started/docker-quick-start.md)**: Docker and manual setup, first sign-in, demo data.
|
|
- **[Self-hosting](docs/self-hosting/requirements.md)**: requirements, production deployment, PostgreSQL and Row-Level Security, backups, security hardening.
|
|
- **[API reference](docs/api/conventions.md)**: authentication, conventions, and every documented endpoint.
|
|
- **[Contributing](docs/contributing/development-setup.md)**: local development setup, testing, code style, and how to open a pull request.
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions, development checks, and pull request guidance.
|
|
|
|
## Community
|
|
|
|
- **Issues**: [GitHub Issues](https://github.com/django-crm/Django-CRM/issues)
|
|
- **Commercial support**: [Contact us](https://bottlecrm.io/contact)
|
|
- **LinkedIn**: [BottleCRM on LinkedIn](https://www.linkedin.com/company/bottle-crm)
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## Sponsors
|
|
|
|
BottleCRM is developed and maintained by [RunCode Inc.](https://runcode.io)
|
|
|
|
We warmly welcome new sponsors. If you would like to support BottleCRM and help the project grow, please [get in touch](https://bottlecrm.io/contact).
|
|
|
|
## Contributors
|
|
|
|
This project exists thanks to all the people who contributed.
|
|
|
|
[View all BottleCRM contributors](https://github.com/django-crm/Django-CRM/graphs/contributors).
|