Self-hosting customer chat in 2026: when it's worth it
Self-host vs SaaS for live chat: data residency, GDPR, total cost, ops burden. A realistic look at when running it yourself pays off.
"Self-host" sounds like the responsible adult choice. In practice it's a bet — you trade an invoice for ops time. Here's when that bet pays off, and when it really doesn't.
When self-host wins
- Data residency / regulation— finance, healthcare, EU public sector. You need to prove the message never left your VPC. SaaS won't cut it.
- 50+ agents — SaaS at $30/seat × 50 = $1,500/mo, fast. A small EC2 fleet plus an RDS Postgres can come in well under that.
- Custom integrations— if you're patching the source to add a weird channel or internal SSO flavor, you need the code anyway.
- Air-gapped environments — defense, isolated networks. SaaS literally cannot reach you.
When SaaS still wins
- Team under 10 agents
- No security / DPO breathing down your neck
- Nobody on the team wants to be on call for Postgres at 3 AM
The minimum self-host setup
AskAIs Customer Service CE ships a docker-compose.yml that boots:
- PostgreSQL 16 with pgvector extension
- Redis 7 for pub/sub and queues
- MinIO for S3-compatible attachment storage
- Web app (Next.js), WebSocket server, BullMQ worker
git clone https://github.com/singlink/singlink
cd singlink
cp .env.example .env
docker compose up -dBehind nginx or Cloudflare Tunnel, that's a working install in 15 minutes. The community edition is AGPL-3.0; enterprise add-ons (SSO, smart model routing, white-label billing) are a separate commercial license.
Hidden costs to budget for
- Backups (you'll forget; pay for managed Postgres)
- TLS certs (Let's Encrypt is free, but renewals need monitoring)
- Upgrade testing (run on staging first; we ship migrations safely but you should verify)
If you're unsure, start on SaaS, export your data quarterly. The day you outgrow it, you can self-host with the same database schema.