" /> Synapse server setup - Libretech Journal
Libretech Journal

Synapse server setup

All posts tagged Synapse server setup by Libretech Journal
  • Posted on

    Matrix is an open, decentralized, and secure real-time communication network supporting various applications, including chat, VoIP, VR/AR, and IoT. It aims to create a global, encrypted communication network.

    Matrix offers end-to-end encryption (using OLM and the Double Ratchet algorithm), group and one-to-one messaging, VoIP (WebRTC), push notifications, a content repository for media, and decentralized conversation history.

    The network uses four main APIs: Client-Server, Server-Server (Federation), Application Service (for bridges and bots), and Identity Server (for managing email/phone number associations).

    Currently, Matrix uses a client-server based federated architecture, but peer-to-peer functionality is under development.

    The Matrix ecosystem includes various clients (Element, Quaternion, Fractal, etc.) and servers (Synapse, Dendrite), with SDKs available for numerous platforms.

    The presentation details installing and configuring Synapse, the reference Matrix homeserver, on Arch Linux. This involves using the Arch Linux repository, generating a configuration file, and enabling registration (optional, but recommended for private use).

    Key configuration aspects discussed include enabling registration, database selection (PostgreSQL recommended over SQLite), and logging configuration.

    Using a reverse proxy (like Caddy) is highly recommended for secure HTTPS access and proper TLS certificate management, avoiding issues with Synapse's built-in ACME v1 support.

    Synapse uses workers for horizontal scaling, particularly useful for handling CPU-bound tasks like syncing.

    Delegation allows for flexible server name configuration and port management, enabling clients and federation APIs to use different ports or even the same port (443) for both.

    Dendrite, a next-generation homeserver, has released its first beta version. Portable identities (moving accounts between servers) are in development.

    Synapse currently supports SQLite and PostgreSQL, with a move towards primarily supporting PostgreSQL for performance reasons. NoSQL databases are not currently supported.

    The Matrix App Service IRC bridge works well for smaller communities, but performance issues arise when bridging large networks.

"> ');