HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
matrix-org
dendrite
Go2017–2025
matrix-org / dendrite · Archived

dendrite

Dendrite is a second-generation Matrix homeserver written in Go!

27Distinct people
41Mentions
0Explicit recommenders
5.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Dendrite is a second-generation Matrix homeserver written in Go!

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year41 dated mentions

Observed mentions: 2017-08-14 19:48:21 UTC to 2025-07-17 13:50:44 UTC.

02462017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC404
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC707
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC707
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC606
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC514
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Dendrite Dendrite is now maintained at element-hq/dendrite Dendrite is an open-source Matrix homeserver developed from 2019 through 2023 as part of the Matrix.org Foundation. The Matrix.org Foundation is not able to resource maintenance of Dendrite and it continues to be developed by Element additionally you have the choice of other Matrix homeservers See The future of Synapse and Dendrite blog post for more information. Dendrite is a second-generation Matrix homeserver written in Go. It intends to provide an efficient, reliable and scalable alternative to Synapse: Efficient: A small memory footprint with better baseline performance than an out-of-the-box Synapse. Reliable: Implements the Matrix specification as written, using the same test suite as Synapse as well as a brand new Go test suite. Scalable: can run on multiple machines and eventually scale to massive homeserver deployments. Dendrite is beta software, which means: Dendrite is ready for early adopters. We recommend running Dendrite with a PostgreSQL database. Dendrite has periodic releases. We intend to release new versions as we fix bugs and land significant features. Dendrite supports database schema upgrades between releases. This means you should never lose your messages when upgrading Dendrite. This does not mean: Dendrite is bug-free. It has not yet been battle-tested in the real world and so will be error prone initially. Dendrite is feature-complete. There may be client or federation APIs that are not implemented. Dendrite is ready for massive homeserver deployments. There is no high-availability/clustering support. Currently, we expect Dendrite to function well for small (10s/100s of users) homeserver deployments as well as P2P Matrix nodes in-browser or on mobile devices. If you have further questions, please take a look at our FAQ or join us in: #dendrite:matrix.org - General chat about the Dendrite project, for users and server admins alike #dendrite-dev:matrix.org - The place for developers, where all Dendrite development discussion happens #dendrite-alerts:matrix.org - Release notifications and important info, highly recommended for all Dendrite server admins Requirements See the Planning your Installation page for more information on requirements. To build Dendrite, you will need Go 1.21 or later. For a usable federating Dendrite deployment, you will also need: A domain name (or subdomain) A valid TLS certificate issued by a trusted authority for that domain SRV records or a well-known file pointing to your deployment Also recommended are: A PostgreSQL database engine, which will perform better than SQLite with many users and/or larger rooms A reverse proxy server, such as nginx, configured like this sample The Federation Tester can be used to verify your deployment. Get started If you wish to build a fully-federating Dendrite instance, see the Installation documentation. For running in Docker, see build/docker. The following instructions are enough to get Dendrite started as a non-federating test deployment using self-signed certificates and SQLite databases: $ git clone https://github.com/matrix-org/dendrite $ cd dendrite $ go build -o bin/ ./cmd/... # Generate a Matrix signing key for federation (required) $ ./bin/generate-keys --private-key matrix_key.pem # Generate a self-signed certificate (optional, but a valid TLS certificate is normally # needed for Matrix federation/clients to work properly!) $ ./bin/generate-keys --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 connection strings. $ cp dendrite-sample.yaml dendrite.yaml # Build and run the server: $ ./bin/dendrite --tls-cert server.crt --tls-key server.key --config dendrite.yaml # Create an user account (add -admin for an admin user). # Specify the localpart only, e.g. 'alice' for '@alice:domain.com' $ ./bin/create-account --config dendrite.yaml --username alice Then point your favourite Matrix client at http://localhost:8008 or https://localhost:8448. 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 January 2023, we have 100% server-server parity with Synapse, and the client-server parity is at 93% , 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, although there are still some missing features (like SSO and Third-party ID APIs). 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 (OpenID, Guests, Admin APIs, AS API). This means Dendrite supports amongst others: Core room functionality (creating rooms, invites, auth rules) Room versions 1 to 10 supported Backfilling locally and via federation Accounts, profiles and devices Published room lists Typing Media APIs Redaction Tagging Context E2E keys and device lists Receipts Push Guests User Directory Presence Fulltext search Contributing We would be grateful for any help on issues marked as Are We Synapse Yet. These issues all have related Sytests which need to pass in order for the issue to be closed. Once you've written your code, you can quickly run Sytest to ensure that the test names are now passing. If you're new to the project, see our Contributing page to get up to speed, then look for Good First Issues. If you're familiar with the project, look for Help Wanted issues.
Read the full README on GitHub

What Hacker News says

41 sources
There's an official Golang rewrite called dendrite: https://github.com/element-hq/dendrite it has few start because they recentyl migrated it from the original repo (https://github.com/matrix-org/dendrite) Development is not fast but it's going on, and it's currently on beta. I haven't tried it, I selfhost a synapse server which I used with friends, and with docker it wasn't hard to set up/maintain after the initial effort.
In Upcoming coordinated security fix for all Matrix server implementations
Not only is there a rust version of synapse, it has been existing for years before Element decided to fork it unilaterally [1]. Just to be clear: the current development on dendrite has mostly not been done by element, but by a volunteer community. The rugpull can be observed here [2] by the playbook so many others have used: - Create commercial offering - Add some breakwards compatibility breaking shit to the repo - Declare the project dead - Old users are now basically forced into "the new" product [1] https://matrix.org/blog/2023/11/06/future-of-synapse-dendrit... [2] https://github.com/matrix-org/dendrite/issues
In Nation-scale Matrix deployments will fail using the community version of Synapse
i ran a synapse instance for a couple years for private purposes, but at this point the ecosystem seems kinda captured by element. self hosting is a pain. in some places it's really hard to tell that mistakes in good faith were made or it's just intentionally complicated to keep "normal" people from running their own instance. Especially the whole worker setup was subject to change multiple times and broke my instance every. single. time. couple that with sparse, out of date documentation and the "pro edition" they now announced suddenly makes a lot of sense (from their perspective at least) - They own Element, the by far most used client - They own Synapse, the by far most used server - They own dendrite, the only matrix server so far that even comes close to spec adherance with synapse, which has been strangled (as evidenced by the last
Read the rest
release almost half a year ago [3]) Because everyone is running synapse, everyone needs to keep running synapse or risk losing compatibility with the federation. This is not what the sales brochure for matrix read like. Like, at all. Do y'all believe it's random chance that the official synapse docker-compose does not come with async workers? [1] And now check out the terrible setup process for setting up the whole "workers magic" (which, mind you, is unavoidable the moment you have some bigger rooms joined) [2] - Like who on this godforsaken planet considers this valid even for 2022? Pair that with how easy to handle the base documentation is and things start to smell. They have the stench of trying to artificially create a moot by making it "too hard for non-pros". I understand synapse and dendrite development need funding, but this is not the way to go. All good will towards Element as a steward of matrix I had is completely eroded by now and I assume that will be the case for many others too. Forks are bound to happen at this point and I'm looking forward to the ecosystem become more diverse again. Oh, and did you know the Matrix Foundation is infact a UK based Inc. controlled by 5 people in 5 companies, of which 4 companies are residing at the same address [4] and the fifth has an odd interest in NFTs and other BS? [1] https://github.com/matrix-org/synapse/blob/develop/contrib/d... [2] https://matrix-org.github.io/synapse/latest/workers.html - note how this page is already marked as deprecated. Prepare for it to vanish altogether soon. You are not supposed to set up workers, you are supposed to beg element to run a decent matrix server [3] https://github.com/matrix-org/dendrite [4] https://find-and-update.company-information.service.gov.uk/c...
In Nation-scale Matrix deployments will fail using the community version of Synapse
Matrix already has key-based identity in the works at https://github.com/matrix-org/matrix-spec-proposals/blob/keg... (and implemented in Dendrite at https://github.com/matrix-org/dendrite/pulls?q=is%3Apr+is%3A...). Matrix is set up to let folks go wild and change fundamentals like this; basically every Matrix Spec Change (MSC) is a small fork, which then gets merged into the main spec if it can be proven to work well in the wild.
In Databag – tiny self-hosted federated messenger for the decentralized web
Dendrite development is literally going faster than ever, with major releases every 2 weeks, and 0.8 out last Friday (https://github.com/matrix-org/dendrite/releases), and 83% CS API compliance and 95% SS API. (Edit: see also the commit graph: https://github.com/matrix-org/dendrite/graphs/contributors) The core team is depending on it to power the reference P2P matrix implementation as per https://arewep2pyet.com, plus we currently have dedicated funding for Dendrite, avoiding the team getting sidetracked by other stuff as they have been in the past. Meanwhile Synapse is continuously getting more resource efficient too, with Fast Joins landing shortly - and Conduit looks to be making decent progress as well. In other words, i think we’re about to enter a golden age of Matrix servers :)
In GTK4 Matrix Client
No, it is not cheap, generally. Example: Dendrite[0] was going to be a Rewrite of Synapse (which was a prototype which ended up going into production). The rewrite started more than 5 years ago, had lots of development breaks and it still is nowhere complete or close to replace a existing Synapse instance (which even today is ... Well ... suboptimal software). The current plans are to support and use both servers long term, because Synapse is already too widespread. I wouldn't call that cheap. [0]: https://github.com/matrix-org/dendrite
In There’s No Such Thing as Clean Code

Showing the 15 most recent of 41 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.