Zulip: Threaded Team Chat
Zulip is team chat built around a threading model: every message belongs to a topic inside a stream, which makes catching up on a busy channel practical.
Why self-host Zulip
Slack’s free tier hides your history, and every chat platform eventually charges per user. Beyond cost, self-hosting keeps internal discussion on infrastructure you control. Zulip’s specific pitch is its topic model: instead of scrolling a linear channel and reconstructing which messages relate to which conversation, you read one topic at a time and mark it done. For asynchronous and distributed teams, that difference is substantial.
What it does
Zulip falls into the Communication category of self-hosted software. It provides streams with per-topic threading, full-text search across all history, message editing, drafts, scheduled messages, reactions, and code blocks with syntax highlighting. Clients cover web, desktop, iOS, and Android, and there is a large integration catalogue plus a documented API and bot framework. Guest accounts, organization permissions, and single sign-on through LDAP, SAML, or OIDC cover larger deployments.
Community traction
Zulip has been developed openly since 2015 after Dropbox open-sourced it, and is used by open-source projects, universities, and companies that specifically want threaded conversation rather than a Slack clone.
Deployment
A Docker Compose deployment and a native installer for Ubuntu and Debian are both supported. It is a Django application with PostgreSQL, Redis, RabbitMQ, and a full-text search backend, so it wants a reasonably provisioned server rather than a spare Pi.
Alternatives
Mattermost and Rocket.Chat are the closest self-hosted Slack equivalents with conventional channel models. Matrix with Element covers federated chat with end-to-end encryption.
License
Zulip is released under the Apache License 2.0.
Links
Zulip is the option worth trying if your team’s problem with chat is keeping up with it.