13ec20b4b6
Tests / Tests (push) Has been cancelled
Details
Docker / docker (push) Has been cancelled
Details
CodeQL / Analyze (c-cpp) (push) Has been cancelled
Details
Tests / Complement (${{ matrix.label }}) (PostgreSQL, Postgres) (push) Has been cancelled
Details
|
||
---|---|---|
.github | ||
.kdev4 | ||
.reuse | ||
.tito | ||
.vscode | ||
LICENSES | ||
benches | ||
complement | ||
fuzz_targets | ||
scripts | ||
src | ||
subprojects | ||
tests | ||
.clang-format | ||
.clang-tidy | ||
.clangd | ||
.deepsource.toml | ||
.gitignore | ||
.lcovrc | ||
LICENSE | ||
README.md | ||
config.example.yaml | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
gcovr.cfg | ||
meson.build | ||
meson.options | ||
persephone.kdev4 | ||
persephone.spec | ||
shell.nix |
README.md
Persephone
Persephone is an experimental and WIP matrix homeserver written in C++20.
Goals
- Support specifically a server size of 25-1k users with 30-40 normal usage rooms per user.
- This does not mean we will cripple performance if its better than this.
- Allow upscaling easily
- Don't expose too many switches to the user via the config
- One should be able to understand the whole config fully in less than 2 normal evenings.
- One should not need more than home-admin understandings of concepts.
- There should be tests from the start
- Unit tests
- Benchmarks
- Fuzzing
Technology
The technology used will be:
- C++20
- Postgresql
- drogon
- snitch2
- c-ares
Building
TODO. Bulk of it: Install ninja, meson and cmake and install drogon.