- Elixir 100%
| config | ||
| lib | ||
| priv | ||
| test | ||
| .formatter.exs | ||
| .gitignore | ||
| AUTHORS | ||
| LICENSE | ||
| manifest.scm | ||
| mix.exs | ||
| mix.lock | ||
| README.org | ||
Bromal
Overview
Bromal is a lightweight opensource messaging server, that uses the Matrix protocol. It is being developed for the efficient deployment of federated messaging systems with modest resource requirements, as a result, it could be deployed even on small servers, including VPS, without sacrificing essential functionality. The project aims to support server-to-server federation, state resolution for different room versions, end-to-end encryption, a full-featured messaging module, built-in VoIP, automatic TLS certificate acquisition via Let's Encrypt using the ACME protocol, as well as the ability to create a cluster for larger installations.
Fun fact
Bromal is being developed on RISC-V OrangePi RV2 SBC running Guix System.
Current status
This software is under active development. It is half-baked and currently not suitable for any production usage:
- Not suitable for any kind of usage except for hacking.
- Internal architecture is subject to change.
- Lacks most important features.
- Federation is supported, but no PDUs (there is a primary support for it).
- No database migrations; schema changes frequently and suddenly.
- Test coverage is not 100% and may sometimes be outdated.
- Code in various components is not optimal and will be refactored sooner or later.
- etc.
Requirements
Bromal currently depends on the following packages:
- Elixir 1.15+
- Erlang 26+
- PostgreSQL 15+
- ImageMagick (for image manipulation)
Build instructions
mix deps.get
mix compile
Run tests
Bromal tests require access to a PostgreSQL database, so it must be properly installed and configured beforehand. Tests can then be executed as usual:
mix test
Under Guix System
Guix System packaging (vendoring support as in Rust packages) currently is baking here: https://codeberg.org/guix/guix/pulls/3524
guix install bromal
;; TODO
Contributions
Contributions are always welcome, however they are always welcome without ANY use of generative AI/LLMs.
Sponsors
Bromal development is sponsored by NGI Zero Commons Fund since April 2026, many thanks to them!
License
Bromal is licensed under the AGPLv3 or later. Please consult the LICENSE
file for more details.