A Matrix homeserver written in Rust https://conduit.rs

Forked from git.koesters.xyz/timo/conduit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Timo Kösters 4a8bc93b1a Merge pull request 'Send invites only if invited during the sync request' (#176) from gnieto/conduit:fix/send-invite-when-needed into master 1 year ago
.gitea Add liberapay, change pr template 1 year ago
src Do not ignore db errors 1 year ago
sytest fix ci 1 year ago
.gitignore fix: only allow valid usernames in /register 1 year ago
Cargo.lock feat: implement /keys/changes 1 year ago
Cargo.toml improve: presence 1 year ago
LICENSE Add license 1 year ago
README.md Update README, fix CI (#148) 1 year ago
Rocket-example.toml improvement: documentation 1 year ago
rust-toolchain improvement: switch to stable rust 1 year ago
rustfmt.toml Use sled::Tree::prefix_search for deviceids 1 year ago



A Matrix homeserver written in Rust

Liberapay Matrix

What is the goal

A fast Matrix homeserver that's easy to set up and just works. You can install it on a mini-computer like the Raspberry Pi to host Matrix for your family, friends or company.

Is it fast?

See it in action: https://www.youtube.com/watch?v=HoBslDtqC1k

Can I try it out?

Yes! Just open a Matrix client (https://app.element.io or Element Android for example) and register on the https://conduit.koesters.xyz homeserver.

How can I deploy my own?

You just have to clone the repo, build it with cargo build --release and call the binary (target/release/conduit) from somewhere like a systemd script. It's explained in more detail here.

What is it build on?

  • Ruma: Useful structures for endpoint requests and responses that can be (de)serialized
  • Sled: A simple (key, value) database with good performance
  • Rocket: A flexible web framework

What are the biggest things still missing?

  • Federation (Talk to other Matrix servers)
  • Appservices (Bridges and Bots)
  • Push notifications on mobile
  • Notification settings
  • Lots of testing

Also check out the milestones.

How can I contribute?

  1. Look for an issue you would like to work on and make sure it's not assigned to other users
  2. Ask someone to assign the issue to you (comment on the issue or chat in #conduit:matrix.org)
  3. Fork the repo and work on the issue. #conduit:matrix.org is happy to help :)
  4. Submit a PR


Liberapay: https://liberapay.com/timokoesters/
Bitcoin: bc1qnnykf986tw49ur7wx9rpw2tevpsztvar5x8w4n