mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-08-01 13:52:46 +00:00
parent
72b3160776
commit
37db60f4d4
3 changed files with 122 additions and 139 deletions
68
README.md
68
README.md
|
@ -1,22 +1,68 @@
|
|||
# Dendrite [](https://buildkite.com/matrix-dot-org/dendrite) [](https://matrix.to/#/#dendrite-dev:matrix.org) [](https://matrix.to/#/#dendrite:matrix.org)
|
||||
|
||||
Dendrite will be a second-generation Matrix homeserver written in Go.
|
||||
Dendrite is a second-generation Matrix homeserver written in Go. It is not recommended to use Dendrite as
|
||||
a production homeserver at this time as there is no stable release. An overview of the design can be found
|
||||
in [DESIGN.md](docs/DESIGN.md).
|
||||
|
||||
It's still very much a work in progress, but installation instructions can be
|
||||
found in [INSTALL.md](docs/INSTALL.md). It is not recommended to use Dendrite as a
|
||||
production homeserver at this time.
|
||||
# Quick start
|
||||
|
||||
Requires Go 1.13+ and SQLite3 (Postgres is also supported):
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/matrix-org/dendrite
|
||||
$ cd dendrite
|
||||
|
||||
# generate self-signed certificate and an event signing key for federation
|
||||
$ go build ./cmd/generate-keys
|
||||
$ ./generate-keys --private-key matrix_key.pem --tls-cert server.crt --tls-key server.key
|
||||
|
||||
# Copy and modify the config file:
|
||||
# you'll need to set a server name and paths to the keys at the very least, along with setting
|
||||
# up the database filenames
|
||||
$ cp dendrite-config.yaml dendrite.yaml
|
||||
|
||||
# build and run the server
|
||||
$ go build ./cmd/dendrite-monolith-server
|
||||
$ ./dendrite-monolith-server --tls-cert server.crt --tls-key server.key --config dendrite.yaml
|
||||
```
|
||||
|
||||
Then point your favourite Matrix client at `http://localhost:8008`. For full installation information, see
|
||||
[INSTALL.md](docs/INSTALL.md). For running in Docker, see [build/docker](build/docker).
|
||||
|
||||
# Progress
|
||||
|
||||
We use a script called Are We Synapse Yet which checks Sytest compliance rates. Sytest is a black-box homeserver
|
||||
test rig with around 900 tests. The script works out how many of these tests are passing on Dendrite and it
|
||||
updates with CI. As of July 2020 we're at around 48% CS API coverage and 50% Federation coverage, though check
|
||||
CI for the latest numbers. In practice, this means you can communicate locally and via federation with Synapse
|
||||
servers such as matrix.org reasonably well. There's a long list of features that are not implemented, notably:
|
||||
- Receipts
|
||||
- Push
|
||||
- Search and Context
|
||||
- User Directory
|
||||
- Presence
|
||||
- Guests
|
||||
- E2E keys and device lists
|
||||
|
||||
We are prioritising features that will benefit single-user homeservers first (e.g Receipts, E2E) rather
|
||||
than features that massive deployments may be interested in (User Directory, OpenID, Guests, Admin APIs, AS API).
|
||||
This means Dendrite supports amongst others:
|
||||
- Core room functionality (creating rooms, invites, auth rules)
|
||||
- Federation in rooms v1-v6
|
||||
- Backfilling locally and via federation
|
||||
- Accounts, Profiles and Devices
|
||||
- Published room lists
|
||||
- Typing
|
||||
- Media APIs
|
||||
- Redaction
|
||||
- Tagging
|
||||
|
||||
An overview of the design can be found in [DESIGN.md](docs/DESIGN.md).
|
||||
|
||||
# Contributing
|
||||
|
||||
Everyone is welcome to help out and contribute! See
|
||||
[CONTRIBUTING.md](docs/CONTRIBUTING.md) to get started!
|
||||
|
||||
Please note that, as of February 2020, Dendrite now only targets Go 1.13 or
|
||||
later. Please ensure that you are using at least Go 1.13 when developing for
|
||||
Dendrite.
|
||||
|
||||
# Discussion
|
||||
|
||||
For questions about Dendrite we have a dedicated room on Matrix
|
||||
|
@ -24,8 +70,4 @@ For questions about Dendrite we have a dedicated room on Matrix
|
|||
discussion should happen in
|
||||
[#dendrite-dev:matrix.org](https://matrix.to/#/#dendrite-dev:matrix.org).
|
||||
|
||||
# Progress
|
||||
|
||||
There's plenty still to do to make Dendrite usable! We're tracking progress in a
|
||||
[project board](https://github.com/matrix-org/dendrite/projects/2).
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue