No description
Find a file
vickytechkey c957cc295f
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 34s
Run migrations strictly on default CRM database
2026-10-24 14:15:12 +05:30
.forgejo/workflows Run migrations strictly on default CRM database 2026-10-24 14:15:12 +05:30
backend Configure CRMDatabaseRouter, Tradhox CORS/CSRF/hosts, and weasyprint dependencies 2026-10-24 14:06:32 +05:30
docker fix: resolve setup and Docker issues preventing project from running 2026-02-17 10:27:47 +05:30
docs Record where each new org came from, alert stale deals only for orgs in use, and offer industries on the phone's new-org screen (1.25.0) 2026-10-24 11:34:07 +05:30
frontend Record where each new org came from, alert stale deals only for orgs in use, and offer industries on the phone's new-org screen (1.25.0) 2026-10-24 11:34:07 +05:30
mobile Record where each new org came from, alert stale deals only for orgs in use, and offer industries on the phone's new-org screen (1.25.0) 2026-10-24 11:34:07 +05:30
.coveragerc feat: Enhance goal tracking with currency support and separate totals 2026-09-26 10:06:25 +05:30
.dockerignore feat: add Docker Compose setup for local development 2026-02-17 10:01:50 +05:30
.env.docker Configure PostgreSQL strictly and set tradhoxcrm database settings 2026-10-24 13:09:40 +05:30
.gitignore claude.md update 2026-10-21 08:06:08 +05:30
.jshintrc feat: add JSHint configuration for ES11 and module support 2026-02-20 18:04:30 +05:30
.readthedocs.yaml Refactor comments for clarity and consistency across multiple screens and services 2026-08-03 09:36:48 +05:30
.runcode.yaml chore: migrate Python dependency management from pip to uv and update project tooling 2026-05-09 12:07:23 +05:30
CLAUDE.md clean up 2026-10-21 09:25:18 +05:30
configure_nginx_proxy.py Align Nginx config, proxy script, and service unit with EC2 internalsInstance 2026-10-24 13:33:13 +05:30
CONTRIBUTING.md bug fix 2026-10-21 08:26:49 +05:30
crm-backend.service Align Nginx config, proxy script, and service unit with EC2 internalsInstance 2026-10-24 13:33:13 +05:30
crmbackend.nginx.conf Align Nginx config, proxy script, and service unit with EC2 internalsInstance 2026-10-24 13:33:13 +05:30
DESIGN_SYSTEM.md chore: update dependencies and configurations 2026-09-05 22:49:29 +05:30
docker-compose.yml chore: update frontend and backend URLs to use port 5181 for local development 2026-09-26 17:24:25 +05:30
Dockerfile fix: move venv outside of backend in dockerfile 2026-08-05 01:12:07 +07:00
LICENSE Update license and project details to reflect new ownership and version increment 2026-10-20 14:15:21 +05:30
MANIFEST.in Added manifest file to make sure templates and static files are installed with the apps 2019-04-01 15:48:28 -04:00
mkdocs.yml Let an org switch whole modules off (1.23.0) 2026-10-23 15:22:09 +05:30
README.md Merge branch 'master' of https://github.com/django-crm/Django-CRM into dev 2026-10-21 07:14:59 +05:30
RLS_SETUP.md Refactor comments for clarity and consistency across multiple screens and services 2026-08-03 09:36:48 +05:30
schema.yml Update project branding to reflect focus on AI and people 2026-10-20 14:46:51 +05:30
SECURITY.md bug fix 2026-10-21 08:26:49 +05:30

BottleCRM: CRM for AI and People

A free, open-source, self-hosted, multi-tenant CRM built with Django REST Framework, SvelteKit and Flutter.

License Python Django SvelteKit Svelte Flutter Coverage

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 → · Features · Product docs · Pricing · Migrate from Salesforce or HubSpot

(That's the marketing site's product documentation. For the technical documentation (self-hosting, architecture, the API, contributing) see 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

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 for the default admin login, loading demo data, and what each service does.

One-click deploy

Deploy on RepoCloud

Documentation

The full documentation (setup, self-hosting, architecture, the REST API, and contributing) is built from this repository's docs/ with MkDocs Material and publishes to Read the Docs at https://django-crm.readthedocs.io/en/latest/. Four starting points:

  • Getting started: Docker and manual setup, first sign-in, demo data.
  • Self-hosting: requirements, production deployment, PostgreSQL and Row-Level Security, backups, security hardening.
  • API reference: authentication, conventions, and every documented endpoint.
  • Contributing: local development setup, testing, code style, and how to open a pull request.

Contributing

We welcome contributions! See CONTRIBUTING.md for setup instructions, development checks, and pull request guidance.

Community

License

This project is licensed under the MIT License - see the LICENSE file for details.

Sponsors

BottleCRM is developed and maintained by RunCode Inc.

We warmly welcome new sponsors. If you would like to support BottleCRM and help the project grow, please get in touch.

Contributors

This project exists thanks to all the people who contributed.

View all BottleCRM contributors.