gitmyhub

dendrite

Go ★ 5.6k updated 1y ago ▣ archived

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

Dendrite is a Matrix homeserver written in Go, software that manages accounts, stores messages, and connects with other servers so people can send messages and make calls without relying on a single company.

GoPostgreSQLSQLitenginxsetup: hardcomplexity 4/5

Dendrite is a server for the Matrix messaging protocol, written in Go. Matrix is an open standard for real-time communication that allows people to send messages, share files, and make calls in a way that is not controlled by any single company. To use Matrix, someone needs to run a homeserver, which is the software that manages accounts, stores messages, and connects with other servers in the network. Dendrite is one option for running that homeserver.

The project was developed by the Matrix.org Foundation from 2019 to 2023 and is now maintained by Element at a separate repository. It was designed as a more efficient alternative to Synapse, the original and more widely used Matrix homeserver. Dendrite uses less memory than Synapse and is written to be scalable, meaning it can be configured to run across multiple machines if needed.

For a working public deployment, you need a domain name, a valid security certificate for that domain, and a PostgreSQL database. SQLite works for testing but is not recommended for real use with many users. A reverse proxy like nginx is also recommended to sit in front of the server and handle incoming connections properly.

Dendrite supports the core features people expect from a Matrix server: creating rooms, sending messages, end-to-end encryption key management, media uploads, push notifications, search, and connecting with users on other Matrix servers (called federation). As of early 2023, it passed 93% of the standard client compatibility tests and 100% of the server-to-server tests.

The repo is noted as the archived Matrix.org Foundation copy. Active development continues at element-hq/dendrite.

Where it fits