Self-host Maelstrom
0.1.0Horizontally scalable Matrix homeserver in Rust
- Stars
- 265
- Ports
- 8008 (HTTP API and client-server communication), 8448 (Matrix federation), 7280 (UDP gossip for clustering)
- Requires
- SurrealDB
What is Maelstrom?
Maelstrom is a Matrix homeserver built from the ground up in Rust for large-scale deployments. It avoids the single-core bottleneck of Python-based Synapse by using a stateless Axum web layer that can be replicated behind a load balancer. Data lives in SurrealDB on top of TiKV, giving automatic sharding and replication without a central PostgreSQL instance. Ephemeral state such as typing notifications and presence is shared between nodes through the chitchat gossip protocol over UDP, eliminating the need for a separate message broker. The server implements modern Matrix features including sliding sync, threads, reactions, spaces, and end-to-end encryption, and it federates with other homeservers. An integrated web dashboard and REST API handle administration tasks like user and room management, media retention policies, and federation monitoring, with Prometheus metrics exposed for observability. The project is currently in alpha, passing about 64% of the Matrix Complement conformance suite; registration, authentication, profiles, room creation, and encryption keys are largely complete, while federation, sync edge cases, and state resolution remain under active development. It can run in a simple single-node configuration using SurrealDB's embedded storage, or as a clustered deployment with TiKV for production use. The compiled binary has no runtime dependencies beyond the standard C library.
Should you self-host Maelstrom?
Maelstrom scores 43/100 on selfhost.directory (how scoring works) and ranks #79 of 110 in Chat. It has 265 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Rust.
Its closest alternative on selfhost.directory is Tuwunel (68/100, 2 704 stars). It scores higher overall, so compare the two before you pick. See Maelstrom vs Tuwunel side by side.
Features
- Built-in admin dashboard
- Clustering via gossip
- Distributed Storage
- End-to-end encryption
- Graph-native data model
- Health Checks
- Horizontal Scaling
- Matrix 2.0 support
- Media retention
- Prometheus Metrics
Maelstrom README
More in Communication
MailpileSelf-hosted webmail with PGP encryption. Custom search organizes email using tags. Open-source alternative to commercial email.
Matrix-Discord bridgeSelf-hosted open-source bridge connecting Matrix and Discord for using Matrix clients with Discord chats, featuring webhook relay and encryption.
matrix-docker-ansible-deployOpen-source Ansible playbook automating a Matrix homeserver and services like Element Web, bridges, and admin tools via Docker on your Linux server.
Matrix HookshotSelf-hosted, open-source Matrix appservice bridging rooms to GitHub, GitLab, JIRA and RSS/Atom feeds, with generic webhooks and no external database needed.
Matrix Signal bridgeA Matrix-Signal puppeting bridge
Matrix-Telegram bridgeSelf-hosted open-source bridge connecting Matrix and Telegram with puppeting, relaybot, and double puppeting support for seamless cross-platform messaging.
Matrix WhatsApp bridgeOpen-source, self-hosted Matrix-WhatsApp puppeting bridge written in Go that links private chats, groups, media and reactions to your WhatsApp account.
matterbridgeSelf-hosted chat bridge daemon relaying channels between Discord, IRC, Matrix, Slack, Telegram, XMPP and Mattermost, with nickname spoofing, file relay and a REST API.
mautrix-gmessagesSelf-hosted Matrix bridge for Google Messages (RCS/SMS) with media, reactions, typing notifications, read receipts, and automatic portal creation.
mesh-apiMESH-API is a self-hosted, open-source mesh router and AI bridge connecting Meshtastic and MeshCore LoRa networks to 12+ AI providers and 30+ extensions.
Mesh-BotSelf-hosted, open-source Python bot for Meshtastic mesh networks with network testing, BBS messaging, games, weather alerts, AI, and radio monitoring.
MeshChatXSelf-hosted Reticulum client with LXMF messaging, LXST calls, NomadNet browsing, relay chat, and mapping. Run via Docker, Python wheels, Flatpak, AppImage, or Android APK
0 comments