gitmyhub

rustodon

Rust ★ 0 updated 8y ago ⑂ fork

A Mastodon-compatible, ActivityPub-speaking server in Rust

A lightweight, experimental social media server written in Rust that can talk to other servers using the ActivityPub protocol. It only supports basic user creation and outward federation right now.

RustRust nightlyPostgreSQLActivityPubngroksetup: moderatecomplexity 3/5

Rustodon is an early-stage project aiming to build a lightweight server for federated social media — meaning it's designed to talk to other servers so users across different communities can follow and interact with each other, similar to how Mastodon works. The idea is that someone could host their own small social network node and still connect with the wider "fediverse" of independent servers.

At a high level, the project speaks a protocol called ActivityPub, which is the standard that lets different social platforms communicate. A server running this software can let people create accounts and broadcast their presence outward to other federated servers. Right now, that's about all it does — the README is upfront that it only implements basic user creation and outward federation, and it explicitly warns against using it in any real environment, production or testing.

The people who'd be interested in this today are developers who want to contribute to an open-source social media server written in Rust, or anyone curious about how federated networks are built from scratch. For example, a hobbyist programmer who wants to understand ActivityPub might poke around the codebase to see how a server handles user identity and cross-server communication. It's not something a founder or PM would deploy for actual users yet.

What's notable is the tech choice: building a social server in Rust is less common than, say, Ruby or JavaScript, but it could eventually mean better performance and lower memory usage. The project relies on a PostgreSQL database for storing data and uses some cutting-edge Rust libraries that require the nightly version of the Rust compiler. The README also includes setup instructions for spinning up a local database and handling the HTTPS requirement that federation demands, including a workaround using ngrok for development.

Where it fits