2020-04-09 08:39:45 -07:00
# Conduit
### A Matrix homeserver written in Rust
2020-04-03 08:53:06 -07:00
2020-04-09 22:53:20 -07:00
[![Liberapay ](https://img.shields.io/liberapay/receives/timokoesters?logo=liberapay )](https://liberapay.com/timokoesters)
[![Matrix ](https://img.shields.io/matrix/conduit:koesters.xyz?server_fqdn=matrix.koesters.xyz&logo=matrix )](https://matrix.to/#/#conduit:koesters.xyz)
2020-04-08 13:28:03 -07:00
2020-08-12 12:17:53 -07:00
#### What is the goal?
2020-05-29 00:54:30 -07:00
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.
2020-05-21 08:36:07 -07:00
#### Is it fast?
See it in action: < https: / / www . youtube . com / watch ? v = HoBslDtqC1k >
2020-05-29 00:54:30 -07:00
#### Can I try it out?
2020-04-03 08:53:06 -07:00
2020-07-15 22:50:11 -07:00
Yes! Just open a Matrix client (< https: // app . element . io > or Element Android for example) and register on the `https://conduit.koesters.xyz` homeserver.
2020-05-29 00:54:30 -07:00
#### How can I deploy my own?
2020-08-12 12:17:53 -07:00
##### From source
2020-04-03 08:53:06 -07:00
2020-08-12 12:17:53 -07:00
Clone the repo, build it with `cargo build --release` and call the binary
(target/release/conduit) from somewhere like a systemd script. [Read more ](DEPLOY_FROM_SOURCE.md )
##### Using Docker
2020-08-24 14:30:39 -07:00
Pull and run the docker image with
``` bash
docker pull matrixconduit/matrix-conduit:latest
docker run -d matrixconduit/matrix-conduit:latest -p 8448:8000 -v db:/srv/conduit/.local/share/conduit
```
Or build and run it with docker or docker-compose. [Read more ](docker/README.md )
2020-08-04 13:06:13 -07:00
2020-04-03 08:53:06 -07:00
#### What is it build on?
- [Ruma ](https://www.ruma.io ): Useful structures for endpoint requests and responses that can be (de)serialized
- [Sled ](https://github.com/spacejam/sled ): A simple (key, value) database with good performance
- [Rocket ](https://rocket.rs ): A flexible web framework
2020-05-29 00:54:30 -07:00
#### What are the biggest things still missing?
2020-07-11 00:51:58 -07:00
- Federation (Talk to other Matrix servers)
- Appservices (Bridges and Bots)
- Push notifications on mobile
- Notification settings
2020-05-29 00:54:30 -07:00
- Lots of testing
2020-04-08 13:28:03 -07:00
2020-05-29 01:04:19 -07:00
Also check out the [milestones ](https://git.koesters.xyz/timo/conduit/milestones ).
2020-04-12 13:29:48 -07:00
#### How can I contribute?
2020-07-11 00:51:58 -07:00
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
2020-04-12 13:29:48 -07:00
2020-04-08 13:28:03 -07:00
#### Donate
2020-06-15 23:43:46 -07:00
Liberapay: < https: / / liberapay . com / timokoesters / > \
2020-06-15 23:21:06 -07:00
Bitcoin: `bc1qnnykf986tw49ur7wx9rpw2tevpsztvar5x8w4n`