Kraken¶
Self-hosted Discord-like voice and text chat.
Kraken is an open-source communication platform that gives you full control over your data. Built with a modern stack — NestJS, React, MongoDB, and LiveKit — it provides real-time messaging, voice and video calls, and community management out of the box.
Features¶
- Real-time messaging — WebSocket-powered text channels with mentions, reactions, attachments, and threads
- Voice & video calls — Powered by LiveKit with screen sharing and replay buffer support
- Communities — Create servers with text and voice channels, roles, and permissions
- Direct messages — Private conversations and group DMs with file attachments
- Role-based access control — Granular permissions at the instance and community level
- Desktop app — Electron-based desktop client alongside the web interface
- Self-hosted — Run on your own infrastructure with Docker Compose or Kubernetes
Quick links¶
-
:material-rocket-launch: Installation
Get Kraken running locally in under 5 minutes with Docker Compose.
-
:material-cog: Configuration
Environment variables reference for backend and frontend.
-
:material-server: Deployment
Self-host Kraken in production with Docker Compose or Kubernetes.
-
:material-account-group: Contributing
Help improve Kraken — bug reports, features, and code contributions.
Tech stack¶
| Layer | Technology |
|---|---|
| Backend | NestJS (TypeScript) |
| Frontend | React 19 + Vite + Material UI |
| Database | MongoDB with Prisma ORM |
| Real-time | Socket.IO with Redis adapter |
| Voice/Video | LiveKit |
| State | Redux Toolkit with RTK Query |
| Auth | JWT with Passport.js |
| Desktop | Electron |
License¶
Kraken is dual-licensed under the AGPLv3 and a commercial license. Free for everyone — including commercial use — as long as you comply with AGPL terms. A commercial license is available for proprietary deployments.
Contact: licensing {at} krakenchat [dot] app