Bromal — a lightweight Matrix homeserver, written in Elixir. https://bromal.im
  • Elixir 99.8%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Igorj Gorjaĉev 43a3bff08c
All checks were successful
complement integration tests / run-complement (push) Successful in 12m51s
run bromal ci pipeline / build and run tests (push) Successful in 4m49s
build and push oci image / build (push) Successful in 2m54s
run bromal ci pipeline / run linters (push) Successful in 4m54s
run bromal ci pipeline / generate sbom (push) Successful in 3m25s
update README.org
2026-10-03 23:01:27 +03:00
.forgejo/workflows ci: add gotestfmt for complement action (#3) 2026-06-19 16:48:12 +03:00
ci implement remote control cli (#12) 2026-09-28 20:59:11 +03:00
complement api: add html sanitizer (#5) 2026-08-26 15:30:40 +03:00
config implement remote control cli (#12) 2026-09-28 20:59:11 +03:00
docker api: add html sanitizer (#5) 2026-08-26 15:30:40 +03:00
lib implement remote control cli (#12) 2026-09-28 20:59:11 +03:00
priv implement remote control cli (#12) 2026-09-28 20:59:11 +03:00
test implement remote control cli (#12) 2026-09-28 20:59:11 +03:00
.formatter.exs Install Quokka and run mix format 2026-09-12 18:11:18 -04:00
.gitignore add ci pipeline (#4) 2026-06-05 18:48:58 +03:00
LICENSE add sources 2023-09-28 12:48:06 +03:00
manifest.scm manifest: elixir -> elixir-minimal 2026-07-27 11:41:16 +03:00
mix.exs mix.exs: add ability to set version via environment variable 2026-10-03 19:26:12 +03:00
mix.lock deps update 2026-09-30 22:14:02 +03:00
README.org update README.org 2026-10-03 23:01:27 +03:00
TEAM *: update copyright 2026-09-09 18:30:00 +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.

Current status

This software is under active development. Stay tuned for more rock'n'roll!

Requirements

Bromal currently depends on the following packages:

  • Elixir 1.18+
  • 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

See this link for more information.

Contributions

Contributions are always welcome, however they are always welcome without ANY use of generative AI/LLMs.

Sponsors

Bromal is funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet Bromal page.

NLnet foundation logo NGI Zero Logo

Many thanks to them! ❤️

License

Bromal is licensed under the AGPLv3 or later. Please consult the LICENSE file for more details.