Mirror of conduit for easier access.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Devin Ragotzy c4f5a0a631 Keep track of State at event for state resolution
feat: first steps towards joining rooms over federation
Add state-res as a dependency of conduit
Add reverse_topological_power_sort before append_pdu
Implement statehashstatid_pduid tree for keeping track of state
Clean up implementation of state_hash as key for tracking state
4 years ago
.gitea Fix license. 4 years ago
docker docs: add documentation to the repo and improve layout 4 years ago
src Keep track of State at event for state resolution 4 years ago
sytest fix ci 4 years ago
.dockerignore Initial docker files trinity 4 years ago
.gitignore fix: only allow valid usernames in /register 4 years ago
Cargo.lock Keep track of State at event for state resolution 4 years ago
Cargo.toml Keep track of State at event for state resolution 4 years ago
DEPLOY_FROM_SOURCE.md Make default server name more obvious 4 years ago
Dockerfile Fix license. 4 years ago
LICENSE Add license 4 years ago
README.md docs: add documentation to the repo and improve layout 4 years ago
Rocket-example.toml improvement: documentation 4 years ago
docker-compose.yml Move additional files into dedicated folder and make build the def... 4 years ago
rust-toolchain improvement: switch to stable rust 4 years ago
rustfmt.toml Use sled::Tree::prefix_search for deviceids 4 years ago

README.md

Conduit

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?

From source

Clone the repo, build it with cargo build --release and call the binary (target/release/conduit) from somewhere like a systemd script. Read more

Using Docker

Build the docker image and run it with docker or docker-compose. Read more

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

Donate

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