Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsMay 12, 2026·3 min de lectura

Dendrite — Next-Generation Matrix Homeserver in Go

Dendrite is a second-generation Matrix homeserver written in Go, designed for resource efficiency and easy deployment while supporting the full Matrix federation protocol.

Introduction

Dendrite is the second-generation Matrix homeserver developed by the Matrix.org Foundation, written in Go as a modern replacement for Synapse. It implements the Matrix specification for decentralized, federated messaging and is designed to use significantly less memory and CPU than Synapse while supporting the same client and federation APIs.

What Dendrite Does

  • Hosts Matrix chat rooms with real-time messaging, reactions, and threads
  • Federates with other Matrix homeservers for cross-server communication
  • Supports end-to-end encryption via the Matrix protocol and Olm/Megolm
  • Handles user registration, authentication, and profile management
  • Serves media uploads including images, files, and thumbnails

Architecture Overview

Dendrite is organized as a set of internal components (room server, sync API, user API, federation API, media API) running within a single binary. It uses a PostgreSQL or SQLite database as its backing store. Unlike Synapse's monolithic Python architecture, Dendrite's Go implementation handles concurrency natively through goroutines, resulting in lower memory usage and better multi-core utilization. Federation is handled through HTTP-based Matrix server-to-server APIs.

Self-Hosting & Configuration

  • Run as a single static binary with embedded SQLite or connect to an external PostgreSQL instance
  • Generate a default configuration file and signing keys with the built-in setup command
  • Configure federation by setting up DNS SRV records or well-known delegation
  • Place behind a reverse proxy like Caddy or Nginx for TLS termination
  • Enable open registration or restrict account creation through the config file

Key Features

  • Dramatically lower memory usage compared to Synapse (often under 100 MB idle)
  • Single static binary deployment with no Python dependency chain
  • Full Matrix client-server and server-server API support
  • SQLite mode for small deployments without a separate database server
  • Active development by the Matrix.org Foundation with growing feature parity

Comparison with Similar Tools

  • Synapse — the reference Matrix server; feature-complete but heavy on resources; Dendrite is lighter
  • Conduit — another lightweight Matrix server in Rust; Dendrite is the official second-gen implementation
  • ejabberd — XMPP server, different protocol; Matrix offers richer room semantics
  • Mattermost — centralized team chat; Dendrite supports true federation
  • Rocket.Chat — self-hosted but not federated by default; Matrix/Dendrite federates natively

FAQ

Q: Is Dendrite ready for production use? A: Dendrite is suitable for small to medium deployments. Some advanced features may still lag behind Synapse.

Q: Can I migrate from Synapse to Dendrite? A: Direct migration tools are limited. For small servers, re-registering users and re-joining rooms may be simpler.

Q: Which Matrix clients work with Dendrite? A: All standard Matrix clients work, including Element, FluffyChat, Cinny, and SchildiChat.

Q: Does Dendrite support spaces and threads? A: Yes. Dendrite supports Matrix spaces, threads, and most modern client features.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados