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
Charles Hall fe7d8c4f12
add nix flake
Also add `.envrc` for direnv + Nix users. This makes developing locally
easier for us NixOS folks.

The flake itself will allow NixOS users to pull code directly from
Conduit's repository, making it completely trivial to stay up-to-date
with every commit.

I'd also like to add a NixOS module directly to this repository at some
point so that new configuration options will be available in the NixOS
module faster. But for now, NixOS users can simply override
`serivces.matrix-conduit.package` and get pretty much all the
functionality.

I've added myself to the `CODEOWNERS` file for the Nix files, since I am
willing to maintain this stuff. I use Conduit on NixOS so I'm personally
invested in having this work.

Lastly, `.gitignore` was updated to exclude symlinks created by `direnv`
and `nix build` and other such Nix commands.

This doesn't come without maintenance burden, however:

* The `sha256` in `flake.nix` will need to be updated whenever Conduit's
  MSRV is updated, but that should be pretty infrequent.

* `nix flake update` should be run every so often to pull in updates to
  `nixpkgs` and other flake inputs. I think downstream users can also
  override this themselves with `inputs.<name>.inputs.<name>.follows`.

* `nix flake check` should be run in CI to ensure Nix builds keep
  working.

* `nixpkgs-fmt --check $(fd '\.nix')` (or similar) should be run in CI
  to ensure style uniformity.
2 years ago
.gitea Change license to Apache-2.0 4 years ago
.github/ISSUE_TEMPLATE Shorten more templates 3 years ago
.gitlab add nix flake 2 years ago
.vscode rust-analyzer-extension moved to rust-lang 2 years ago
debian Lower log level commented config options 2 years ago
docker Lower default log level for docker 2 years ago
src Merge branch 'fix_persy' into 'next' 2 years ago
tests Lower default log level for docker 2 years ago
.dockerignore CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab 3 years ago
.envrc add nix flake 2 years ago
.gitignore add nix flake 2 years ago
.gitlab-ci.yml feat(ci): Split clippy into own fallible job 2 years ago
APPSERVICES.md Pre-0.3 doc adjustments 2 years ago
Cargo.lock fix: fluffychat login works again 2 years ago
Cargo.toml clap v4 turned more things into optional features 2 years ago
Cross.toml fix(ci): Fix musl builds 2 years ago
DEPLOY.md Lower default log level for docker and debian 2 years ago
Dockerfile msrv is 1.63 in Cargo.toml; use that 2 years ago
LICENSE Change license to Apache-2.0 4 years ago
README.md Slight clarification 2 years ago
TURN.md Move appservice howto into whats-next; again, rename placeholder TURN url 2 years ago
conduit-example.toml Lower default log level 2 years ago
docker-compose.yml Lower default log level for docker and debian 2 years ago
flake.lock add nix flake 2 years ago
flake.nix add nix flake 2 years ago
rustfmt.toml chore: get rid of warnings 3 years ago

README.md

Conduit

A Matrix homeserver written in Rust

What is the goal?

An efficient 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.

Can I try it out?

Yes! You can test our Conduit instance by opening a Matrix client (https://app.element.io or Element Android for example) and registering on the conduit.rs homeserver.

It is hosted on a ODROID HC 2 with 2GB RAM and a SAMSUNG Exynos 5422 CPU, which was used in the Samsung Galaxy S5. It joined many big rooms including Matrix HQ.

What is the current status?

Conduit is Beta, meaning you can join and participate in most Matrix rooms, but not all features are supported and you might run into bugs from time to time.

There are still a few important features missing:

  • E2EE verification over federation
  • Outgoing read receipts, typing, presence over federation

Check out the Conduit 1.0 Release Milestone.

How can I deploy my own?

If you want to connect an Appservice to Conduit, take a look at APPSERVICES.md.

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:fachschaften.org)
  3. Fork the repo and work on the issue.#conduit:fachschaften.org is happy to help :)
  4. Submit a MR

Thanks to

Thanks to Famedly, Prototype Fund (DLR and German BMBF) and all other individuals for financially supporting this project.

Thanks to the contributors to Conduit and all libraries we use, for example:

  • Ruma: A clean library for the Matrix Spec in Rust
  • axum: A modular web framework

Donate

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

Lightning Bolt Logo: https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u26A1-bolt.svg
Logo License: https://github.com/mozilla/fxemoji/blob/gh-pages/LICENSE.md