A favicon of Stoat

Stoat

The Rust backend behind the Stoat chat service, for anyone self-hosting a community messaging platform or writing a client against its API.

Open Source Alternative to:

Screenshot of Stoat websiteVisit Stoat

This repository is the backend of Stoat, the collection of Rust services and libraries that run the service, published as a set of crates rather than one binary. The web client lives in a separate repository, so what you get here is strictly the server side.

The workspace splits along clear lines. A REST API server named delta and a WebSocket events server named bonfire sit in front of core crates covering configuration, database access, API models, permission logic, user presence and error types. Supporting services handle file storage, a link proxy and a Tenor proxy, while two daemons take care of scheduled data cleanup and push notifications.

Standing up the development environment pulls in everything it depends on.

  • Data stores: MongoDB for records and Redis for transient state.
  • Object storage: MinIO stands in for S3, with encryption logic in a dedicated crate.
  • Messaging: RabbitMQ carries events between the services.
  • LiveKit: a configuration file is copied from the supplied example before the stack starts.
  • Tooling: mise, Docker and Git are required, mold is optional for faster compilation, and a default.nix is provided for Nix users.

Rust 1.86.0 or newer is the minimum supported version, and a few just recipes cut crate and binary releases. Configuration lives in a Revolt.toml file and the crates are still published under Revolt names, a reminder of where the project came from. Services are licensed AGPL-3.0-or-later.

Share:
Details:
  • Stars


    3,283
  • Forks


    387
  • Last commit


    6 days ago
  • Repository age


    5 years
  • Version


    0.15.4
  • Repository


    stoatchat/stoatchat

Auto-fetched from GitHub .

Ad

 

 
 
 
 

Open source alternatives similar to Stoat:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


Stoat: Open Source Alternative to Discord and Guilded – Unvendored