← All tools · CRM
Open source alternatives to HubSpot CRM
Here are 3 self-hostable options – free to run on your own server.
twenty
★ 58.3kAGPL-3.0 (+ separate enterprise/EE license for some dirs)
self-host: mediumtwentyhq/twenty
Build it yourself with AI
Feasible for simple pipelines: contacts + deals Kanban in a weekend.
Paste this prompt into Cursor, Claude Code, Codex or any coding agent to build a minimal self-hosted HubSpot CRM clone, deployable with Docker on a VPS.
You are a senior full-stack engineer. Build a minimal, self-hosted clone of HubSpot CRM (CRM) that I can run on my own VPS. Keep it small, production-sane, and easy to maintain. ## Goal Replace my paid HubSpot CRM subscription for a single person or small team. MVP only — no billing, no enterprise features. ## Core features (build exactly these) 1. contacts and companies with custom fields 2. deal pipeline Kanban with stages 3. activity timeline (notes, emails, calls) 4. tasks with due dates 5. CSV import/export ## Stack - Next.js (App Router, TypeScript) + Tailwind + shadcn/ui - PostgreSQL with Drizzle ORM (migrations checked in) - Auth: Better Auth (email + password, optional GitHub OAuth); every query scoped to the signed-in user/workspace - Background jobs (if needed): pg-boss on the same Postgres - File storage (if needed): S3-compatible (MinIO container) ## Data model (start here, extend only if required) User, Contact, Company, Deal, PipelineStage, Activity, Task Use UUID primary keys, createdAt/updatedAt on every table, and foreign keys with sensible ON DELETE behavior. ## Deliverables 1. Working app with the features above and a clean, minimal UI 2. docker-compose.yml with app, postgres and Caddy (automatic HTTPS) — `docker compose up -d` must be all I run 3. .env.example documenting every variable; no secrets in code 4. Seed script with demo data 5. README: local dev, deploy on a fresh Ubuntu VPS (install Docker, set DNS A record, compose up), backups (pg_dump cron), and updating ## Rules - Build in small steps; after each feature, run typecheck and the app, and fix errors before moving on - Validate all input with zod; rate-limit public endpoints - Write a few Playwright smoke tests for the main flow - Ask me before adding any dependency beyond the stack above For reference (study the approach, don't copy code): https://github.com/twentyhq/twenty, https://github.com/espocrm/espocrm, https://github.com/SuiteCRM/SuiteCRM
One self-hosted swap per week
A new SaaS teardown and its open-source replacement, every week. No spam.
We only use your email to send the SelfHostThis newsletter (stored with our email provider Resend, EU). Every email has a one-click unsubscribe link, and you can ask us to delete your data anytime. We use double opt-in. Datenschutz · Privacy policy