Stoat
Open-source, self-hosted chat and community platform (formerly Revolt)
3.2k stars 369 forks last commit first released
Actively maintained
Last commit 22 Jul 2026.

Stoat is an open-source chat and community platform (formerly known as Revolt) that provides text channels, direct messages, role/permission controls, moderation tools, and rich media support. The project is implemented as a modular Rust backend with companion services and a web-native client, designed for self-hosting and community-focused deployments.
Key Features
- Modular Rust-based backend split into multiple crates (REST API, WebSocket events, file server, proxy, daemons) for separation of responsibilities and scalability.
- Deployable with Docker Compose and Nix; includes Dockerfile and compose examples for local and production deployment environments.
- Integrates common infra components documented in the repo: MongoDB for primary storage, Redis for transient/cache needs, MinIO (S3-compatible) for file storage, and RabbitMQ for messaging/queues.
- Provides WebSocket and REST APIs, presence and event servers, a file server with S3-compatible storage handling, and Tenor proxy support for GIFs.
- Web and desktop clients are supported; the repository and docs reference a web client workflow (build with Node/Yarn tooling) and platform downloads.
- Fine-grained permissions, moderation and bot support aimed at community management; emphasis on privacy and GDPR-aligned practices.
Use Cases
- Host community servers for gaming, hobby, or interest groups requiring channel-based chat and moderation tools.
- Private team or organization chat deployments with self-hosted infrastructure and custom integrations.
- Custom deployments that need S3-compatible file storage, event-driven messaging, and WebSocket-based real-time updates.
Limitations and Considerations
- Real-time voice/video features have historically been limited or under active development; audio/voice support may be experimental or staged and can require additional infrastructure (example configs reference LiveKit).
- Federation with external networks is not implemented by default and has been indicated as low priority; cross-server federation is not a built-in feature.
- Self-hosting requires multiple supporting services (MongoDB, Redis, MinIO, RabbitMQ) and moderate operational knowledge; resource and orchestration planning is necessary for larger deployments.
Stoat is a production-focused, open-source alternative to proprietary chat platforms, built primarily in Rust with container-first deployment patterns. It targets communities and teams that want control over their data and infrastructure while providing modern chat features.
Categories:
Tags:
Tech Stack:
Similar to Stoat

Atria
Open-source event management and attendee networking platform
Atria is an AGPL-3.0 open-source platform for managing hybrid events, sessions, sponsors, and real-time attendee networking with chat and discovery tools.
CyTube
Node.js-based synchronized media watchroom with chat and playlists
Web app for synchronized group watching: per-channel playlists, real-time chat, moderation, and multi-source media playback.

Geeftlist
Open-source web application for creating and sharing gift lists
Open-source platform to create, share and reserve gift ideas among friends and family; includes invitations, notifications and Docker deployment docs.

Rocket.Chat
Self-hosted secure team chat with voice, video, and omnichannel
Rocket.Chat is an open-source communications platform for secure team messaging, channels, DMs, voice/video, integrations, and customer omnichannel support.


Element
Matrix-based secure messaging and collaboration client
Element is a Matrix client for secure team messaging and collaboration, offering end-to-end encrypted chats and calls with interoperability across the Matrix network.


Colanode
Local-first collaboration workspace for chat, docs, and databases
Open-source, local-first Slack and Notion alternative combining team chat, rich docs, databases, and file management with offline-first sync and self-hosting.





