Main features
- Servers with text and voice channels
- Role-based permissions and moderation tools
- Group DMs with up to 50 members
- Bots and a public API used by the official apps
- Custom emoji and themes
- File sharing and link previews
- Apps for Windows, macOS, Linux, Android, iOS and the web
What Stoat does
Stoat is a chat platform for friends and online communities, and the project formerly known as Revolt. Its layout will be familiar to anyone who has used Discord: users join servers, each server has text and voice channels, and administrators control access with roles and permissions and keep order with moderation tools and bots. Group DMs hold up to 50 members. On the hosted service, custom emoji, 20 MB uploads, server-specific avatars and profile banners are available without a subscription, and the project says it carries no ads.
The developers run the public service at stoat.chat with apps for Windows, macOS, Linux, Android, iOS and the web. The same public API that the official apps use is open to developers for bots and custom clients.
Licensing and branding
The backend services, including the REST API (delta), the WebSocket events server (bonfire), the file server, the media proxy and the push and cleanup daemons, are AGPL-3.0-or-later. Some library crates have their own licenses. The developer FAQ sets out what self-hosters may do: official Docker images already include the required attribution, anyone running a modified version in production must publish their changes under the AGPL, and third-party instances must not use Stoat branding or appear to be associated with stoat.chat.
Self-hosting Stoat
The stoatchat/self-hosted repository provides a Docker Compose stack and a step-by-step guide. It runs MongoDB, Valkey (a Redis fork), RabbitMQ, S3-compatible object storage, Caddy as the web server and TLS terminator, the Stoat API, events, file, proxy, GIF, push and cron services, a LiveKit server for voice, and the web client. The project recommends starting with at least 2 vCPUs and 2 GB of memory on Ubuntu Server. Voice needs ports 7881/tcp and 50000-50100/udp open to the internet, outside the Caddy configuration. Guides cover common changes such as putting the instance behind nginx or making it invite-only, and the README lists security advisories that self-hosters should apply.
One important caveat: most official clients do not yet support self-hosted instances. The web client works and can be installed as a progressive web app, which the project says comes close to a native app.
Hosted version
stoat.chat is run by the developers, Revolt Platforms Ltd, and is free to use. It is built in Europe, and the project states that it does not sell user data.
Limitations
Stoat is a community chat rather than a workplace tool: its documentation does not cover SSO, compliance exports or integrations with business software. Messages are not end-to-end encrypted. Self-hosted instances mostly rely on the web client for now, and the stack has more moving parts than a single-binary server.
Who it suits
Stoat suits gaming groups, hobby communities and open source projects that want a Discord-like space without ads, either on the hosted service or on their own server. Compare Fluxer, which also has both options, and see alternatives to Discord for the wider picture.
License details
AGPL-3.0. Backend services are AGPL-3.0-or-later; some library crates carry their own license files. Stoat branding may not be used to promote third-party instances.
Technical details
Self-hosting needs
- MongoDB
- Redis/Valkey
- RabbitMQ
- S3-compatible storage
- LiveKit
Built with
- Rust
- TypeScript
GitHub topics
- api
- mongodb
- redis
- revolt
- revolt-chat
- revoltchat
- rust
- stoat
- stoat-chat
- stoatchat
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.