Skip to content

yearbook/matron-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,280 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matron Server

GitHub License GitHub Commit Activity Docker Pulls GitHub Repo Stars

A fast and reliable Matrix homeserver, forked from Tuwunel.

Documentation Support Chat

Matron Server is a featureful Matrix homeserver you can use instead of Synapse with your favorite client, bridge or bot. It is written entirely in Rust to be a scalable, low-cost, enterprise-ready, community-driven alternative, fully implementing the Matrix Specification for all but the most niche uses.

This project is forked from Tuwunel, which is the successor to conduwuit.

Getting Started

1. Configure by copying and editing the matron-server-example.toml. The server_name and database_path must be configured. Most users deploy via docker or a distribution package and should follow the appropriate guide instead. This is just a summary for the impatient. See the full documentation.

Tip

Avoid using a sub-domain for your server_name. You can always delegate later with a .well-known file, but you can never change your server_name.

2. Setup TLS certificates. Most users enjoy the Caddy reverse-proxy which automates their certificate renewal. Advanced users can load their own TLS certificates using the configuration and Matron Server can be deployed without a reverse proxy. Example /etc/caddy/Caddyfile configuration with Element unzipped to /var/www/element:

example.com, example.com:8448 {
    reverse_proxy localhost:8008
}
web.example.com {
    root * /var/www/element/
    file_server
}

caddy reload --config /etc/caddy/Caddyfile

3. Start the server, connect your client and register your username. The first registration is granted server admin.

Tip

Configure a secret registration_token and set allow_registration = true

Migrating to Matron Server

Can I migrate from
Tuwunel? Yes. This is a direct fork.
conduwuit? Yes. This will be supported at a minimum for one year, but likely indefinitely.
Synapse? Not yet.
Conduit? Not right now.
Any other fork of Conduit? No. The migration must be explicitly listed in this table.

Caution

Never switch between different forks of Conduit or you will corrupt your database. All derivatives of Conduit share the same linear database version without any awareness of other forks. The database will permanently corrupt and we will not be able to help you.

Migrating from Tuwunel or conduwuit

Migrating from Tuwunel or conduwuit to Matron Server just works. In technical parlance it is a "binary swap." All you have to do is update to the latest Matron Server and change the path to the executable to matron-server.

Environment variables with prefixes TUWUNEL_, CONDUWUIT_, and CONDUIT_ are still recognized for backwards compatibility. If you were a Tuwunel or conduwuit user we recommend against changing anything at all initially. This will keep things simple.

Upgrading & Downgrading Matron Server

We strive to make moving between versions of Matron Server safe and easy. Downgrading Matron Server is always safe but often prevented by a guard. An error will indicate the downgrade is not possible and a newer version which does not error must be sought.

Branches

The main branch is always reasonably safe to run. We understand the propensity for users to simply clone the main branch to get up and running, and we're obliged to ensure it's always viable. Nevertheless, only tagged releases are true releases.

Container Tracking

Important

We strongly advise tracking the :latest tag when automatically updating.

Tracking :latest gives us the necessary discretion to keep you on the appropriate stable version. We discourage tracking the main branch unless frequent restarts are acceptable. Alternatively, tracking the :preview tag provides the latest release-candidate becoming equivalent to :latest after a release.

Getting Help & Support

For support, join the Matrix room at #matron:matron.chat.

For security disclosures or private discussion, please open a GitHub issue or contact the maintainers directly.

About

Official successor to conduwuit

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 95.1%
  • HCL 2.8%
  • Nix 1.5%
  • Shell 0.6%