Dendrite es un HomeServer de Matrix de código abierto desarrollado desde 2019 hasta 2023 como parte de la Fundación Matrix.org. Matrix.org Foundation no puede el mantenimiento de los recursos de dendrite y continúa desarrollándose por elemento además tiene la opción de otros hogares de matriz
Vea el futuro de Synapse y Dendrite Blog Public para obtener más información.

Dendrite es un HomeServer Matrix de segunda generación escrito en GO. Tiene la intención de proporcionar una alternativa eficiente , confiable y escalable a la sinapsis:
Dendrite es software beta , que significa:
Esto no significa:
Actualmente, esperamos que Dendrite funcione bien para las pequeñas implementaciones de Homeerver (10s/100s de usuarios), así como nodos de matriz P2P en el navegador o en dispositivos móviles.
Si tiene más preguntas, eche un vistazo a nuestras preguntas frecuentes o únase a nosotros:
Consulte la página de planificación de su instalación para obtener más información sobre los requisitos.
Para construir dendrite, necesitará GO 1.21 o posterior.
Para una implementación de dendrite de federación utilizable, también necesitará:
También se recomiendan:
El probador de la federación se puede usar para verificar su implementación.
Si desea construir una instancia de dendrite totalmente federante, consulte la documentación de instalación. Para ejecutar en Docker, vea Build/Docker.
Las siguientes instrucciones son suficientes para comenzar a Dendrite como una implementación de prueba no federal utilizando certificados autofirmados y bases de datos SQLite:
$ 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 Luego apunte a su cliente de matriz favorito en http://localhost:8008 o https://localhost:8448 .
Utilizamos un script llamado "So We We Synapse todavía" que verifica las tasas de cumplimiento de Sytest. Sytest es una plataforma de prueba Homeerver de caja negra con alrededor de 900 pruebas. El script funciona cuántas de estas pruebas están transmitiendo dendrite y se actualiza con CI. A partir de enero de 2023, tenemos una paridad del servidor del servidor 100% con Synapse, y la paridad del cliente cliente está en 93%, aunque verifique el CI para los últimos números. En la práctica, esto significa que puede comunicarse localmente y a través de la federación con servidores de sinapsis como Matrix.org razonablemente bien, aunque todavía hay algunas características faltantes (como SSO y API de ID de terceros).
Estamos priorizando características que beneficiarán primero a los hogares de usuarios de un solo usuario (por ejemplo, recibos, E2E) en lugar de características que las implementaciones masivas pueden estar interesadas (OpenID, invitados, API administradoras, como API). Esto significa que dendrite apoya entre otros:
Estaríamos agradecidos por cualquier ayuda por los problemas marcados, al igual que We Synapse todavía. Todos estos problemas tienen sytests relacionadas que deben aprobarse para que el problema se cierre. Una vez que haya escrito su código, puede ejecutar rápidamente Sytest para asegurarse de que los nombres de las pruebas ahora pasen.
Si es nuevo en el proyecto, vea nuestra página contribuyente para ponerse al día, luego busque buenos primeros problemas. Si está familiarizado con el proyecto, busque los problemas de ayuda de ayuda.