aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-07-14 12:58:00 +0100
committerGitHub <noreply@github.com>2020-07-14 12:58:00 +0100
commit37db60f4d47f3853ba90cf07092ac42c67fe3016 (patch)
treeb6a324784cbea590f1375c02ed2a9302323fa064 /README.md
parent72b31607766f46c473cda2e23c7d4b0af2ba6dcd (diff)
Update README/docs (#1199)
* Update README * Update docs
Diffstat (limited to 'README.md')
-rw-r--r--README.md68
1 files changed, 55 insertions, 13 deletions
diff --git a/README.md b/README.md
index aa9060f1..168a864a 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,68 @@
# Dendrite [![Build Status](https://badge.buildkite.com/4be40938ab19f2bbc4a6c6724517353ee3ec1422e279faf374.svg?branch=master)](https://buildkite.com/matrix-dot-org/dendrite) [![Dendrite Dev on Matrix](https://img.shields.io/matrix/dendrite-dev:matrix.org.svg?label=%23dendrite-dev%3Amatrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#dendrite-dev:matrix.org) [![Dendrite on Matrix](https://img.shields.io/matrix/dendrite:matrix.org.svg?label=%23dendrite%3Amatrix.org&logo=matrix&server_fqdn=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).