https://github.com/matrix-org/dendron
Dendron was an experimental Matrix homeserver, succeeded by Dendrite.
https://github.com/matrix-org/dendron
Last synced: 6 months ago
JSON representation
Dendron was an experimental Matrix homeserver, succeeded by Dendrite.
- Host: GitHub
- URL: https://github.com/matrix-org/dendron
- Owner: matrix-org
- Archived: true
- Created: 2016-01-27T14:47:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-02-27T14:28:33.000Z (over 8 years ago)
- Last Synced: 2025-04-03T01:34:10.805Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 1.94 MB
- Stars: 35
- Watchers: 31
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - matrix-org/dendron - Dendron was an experimental Matrix homeserver, succeeded by Dendrite. (others)
README
Dendron
=======
Dendron was an experimental [Matrix](https://matrix.org "Matrix") homeserver written in Go.
Rather than write a Matrix homeserver from scratch, Dendron acted as a proxy for
an existing homeserver [Synapse](https://github.com/matrix-org/synapse "Synapse")
written in python. This meant that it could be used as a fully-featured
homeserver.
### The Dendron experiment mainly served to give us an excuse to learn Go and reveal that a strangler-pattern style rewrite like this isn't a clear win. The additional hop of the dendron loadbalancer/proxy caused operational complexity (additional timeouts; logging; IP rewrites; FD limits; etc) whilst buying nothing that a normal LB couldn't do. Also, the strangler-pattern didn't give us enough freedom to rapidly fix the problems of Synapse's DB schema and storage layer.
### As of March 9th 2017, matrix.org's Synapse is no longer running behind Dendron (but instead using a normal haproxy), and meanwhile all our next-generation homeserver development effort is going into [Dendrite](https://github.com/matrix-org/dendrite) (aka "Dendron done right" ;D), which in turn is built on [gomatrixserverlib](https://github.com/matrix-org/gomatrixserverlib), [matrix.org/util](https://github.com/matrix-org/util), and other libs.
### As such, Dendron development is dead, succeeded by Dendrite.
Building
--------
Currently to use Dendron you will need an development install of Synapse. See
[these instructions](https://github.com/matrix-org/synapse#synapse-development "Synapse Development")
for setting up a dev install of Synapse.
To build Dendron itself check out this repository and build it using [gb](https://getgb.io):
gb generate
gb build
Configuring
-----------
WARNING: Dendron is currently in the early stages of development. These
instructions are likely to change frequently and no effort is made to provide
backwards compatibility.
### Configuring Synapse
You will need to configure Synapse to use [PostgreSQL](https://github.com/matrix-org/synapse#using-postgresql)
for storage.
You will need to setup an unsecure HTTP listener for Dendron to proxy requests to.
### Configuring Dendron
The configuration for Dendron is passed on the command line.
SyTest
------
Dendron can be tested using [SyTest](https://github.com/matrix-org/sytest#dendron), a
black box matrix integration tester. See the SyTest project page for instructions