Dendrite is a second-generation Matrix homeserver written in Go!
Find a file
Kegsay 85ac8a3f5b
Factor out how monolith routes get added (#1107)
Previously we had 3 monoliths:
 - dendrite-monolith-server
 - dendrite-demo-libp2p
 - dendritejs

which all had their own of setting up public routes. Factor this
out into a new `setup.Monolith` struct which gets all dependencies
set as fields. This is different to `basecomponent.Base` which
doesn't provide any way to set configured deps (e.g public rooms db)

Part of a larger process to clean up how we initialise Dendrite.
2020-06-09 12:07:33 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
build Nuke old Docker stuff (#1104) 2020-06-05 19:00:30 +01:00
clientapi Factor out how monolith routes get added (#1107) 2020-06-09 12:07:33 +01:00
cmd Factor out how monolith routes get added (#1107) 2020-06-09 12:07:33 +01:00
docs Update p2p docs 2020-05-27 09:39:26 +01:00
eduserver Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
federationapi Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
federationsender Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
internal Factor out how monolith routes get added (#1107) 2020-06-09 12:07:33 +01:00
keyserver Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
mediaapi Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
publicroomsapi Factor out how monolith routes get added (#1107) 2020-06-09 12:07:33 +01:00
roomserver Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
serverkeyapi Split out SetupFooComponent (#1106) 2020-06-08 15:51:07 +01:00
syncapi Factor out how monolith routes get added (#1107) 2020-06-09 12:07:33 +01:00
.dockerignore Docker Hub (#1053) 2020-05-21 13:02:28 +01:00
.gitignore Update .gitignore 2020-03-10 11:42:40 +00:00
.golangci.yml Get room versions from database (#918) 2020-03-17 18:00:10 +00:00
are-we-synapse-yet.list Update are-we-synapse-yet (#1092) 2020-06-04 11:13:40 +01:00
are-we-synapse-yet.py Update are-we-synapse-yet (#1092) 2020-06-04 11:13:40 +01:00
build-dendritejs.sh Bake in git commit into dendritejs binary (#1048) 2020-05-19 16:42:30 +01:00
build.sh Unbreak the wasm build (#986) 2020-04-28 16:22:00 +01:00
dendrite-config.yaml Send-to-device support (#1072) 2020-06-01 17:50:19 +01:00
go.mod Update gomatrixserverlib 2020-06-08 13:56:03 +01:00
go.sum Update gomatrixserverlib 2020-06-08 13:56:03 +01:00
LICENSE Add Apache Version 2.0 license and headers to all golang files 2017-04-21 00:40:52 +02:00
README.md Update INSTALL.md, move docs (#1034) 2020-05-14 16:49:18 +01:00
show-expected-fail-tests.sh Fix newlines between white/blacklist test names in buildkite annotations (#1003) 2020-05-04 14:48:49 +01:00
sytest-blacklist Send-to-device support (#1072) 2020-06-01 17:50:19 +01:00
sytest-whitelist Enable room version 6 (#1087) 2020-06-04 10:53:39 +01:00

Dendrite Build Status Dendrite Dev on Matrix Dendrite on Matrix

Dendrite will be a second-generation Matrix homeserver written in Go.

It's still very much a work in progress, but installation instructions can be found in INSTALL.md. It is not recommended to use Dendrite as a production homeserver at this time.

An overview of the design can be found in DESIGN.md.

Contributing

Everyone is welcome to help out and contribute! See 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 #dendrite:matrix.org. Development discussion should happen in #dendrite-dev:matrix.org.

Progress

There's plenty still to do to make Dendrite usable! We're tracking progress in a project board.