No description
Find a file
2026-04-12 15:04:38 +03:00
config dev: actualize stand config 2025-11-08 12:29:40 +02:00
lib schemas: eliminate compiler warning 2026-03-20 22:16:34 +02:00
priv interfaces rename 2025-11-06 21:10:28 +02:00
test fix all warnings and flaws detected by elixir 1.20.0-rc.1 2026-02-23 13:58:10 +02:00
.formatter.exs add sources 2023-09-28 12:48:06 +03:00
.gitignore fix media upload 2024-04-24 17:52:46 +03:00
AUTHORS big project rework 2024-03-14 13:37:14 +02:00
LICENSE add sources 2023-09-28 12:48:06 +03:00
manifest.scm add guix manifest 2026-03-20 20:24:27 +02:00
mix.exs add sbom dep 2026-04-12 15:04:38 +03:00
mix.lock add sbom dep 2026-04-12 15:04:38 +03:00
README.org update README.org 2026-04-10 10:54:01 +03:00

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.