Stop renting software.

← All tools · support chat

Open source alternatives to Crisp

Crisp starts at $45 (pricing). Here are 2 self-hostable options – free to run on your own server.

chatwoot

★ 37.8kMIT (+ separate enterprise/EE license for some dirs)
self-host: medium

chatwoot/chatwoot

tiledesk

★ 321MIT
self-host: medium

Tiledesk/tiledesk

Build it yourself with AI

Feasible: websocket chat widget.

Paste this prompt into Cursor, Claude Code, Codex or any coding agent to build a minimal self-hosted Crisp clone, deployable with Docker on a VPS.

You are a senior full-stack engineer. Build a minimal, self-hosted clone of Crisp (support chat) that I can run on my own VPS. Keep it small, production-sane, and easy to maintain.

## Goal
Replace my paid Crisp subscription for a single person or small team. MVP only — no billing, no enterprise features.

## Core features (build exactly these)
1. website chat widget with realtime messaging
2. operator inbox with multiple websites
3. visitor info (page, country)
4. offline message to email
5. chat transcripts

## 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, Website, Visitor, Conversation, Message
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/chatwoot/chatwoot, https://github.com/Tiledesk/tiledesk

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