Get in Touch

Course Outline

Federated Messaging Sovereignty

  • Understanding why Slack and Teams create data silos and expose organizations to foreign jurisdictions.
  • Matrix protocol architecture: exploring homeservers, rooms, events, and federation.
  • Synapse as the reference server: key features and resource requirements.
  • Comparison with Mattermost, Rocket.Chat, and Zulip.

Synapse Deployment

  • Setting up a Docker Compose stack comprising Synapse, PostgreSQL, and Element Web.
  • Installing native packages and configuring systemd services.
  • Implementing reverse proxy with Nginx and TLS.
  • Generating initial configuration and performing database migration.

Client Configuration

  • Deploying Element Web with custom branding options.
  • Configuring desktop and mobile apps to point to the custom homeserver URL.
  • Managing user registration, login, and password recovery processes.
  • Defining guest access and room discovery policies.

Encryption and Security

  • Implementing end-to-end encryption using Olm and Megolm protocols.
  • Performing device verification and cross-signing.
  • Managing key backup and recovery with passphrases.
  • Addressing administrative access to encrypted content: limitations and mitigation strategies.

Bridges and Integrations

  • Connecting via Slack, Discord, IRC, and WhatsApp bridges.
  • Setting up email notifications and GitHub/GitLab webhooks.
  • Integrating Jitsi for encrypted video conferencing.
  • Developing custom bots using the matrix-nio SDK.

Federation and Governance

  • Establishing federation whitelist and blacklist policies.
  • Handling room version upgrades and state resolution.
  • Configuring media repository limits and retention policies.
  • Utilizing antispam and abuse reporting tools.

Maintenance and Scaling

  • Optimizing the database and using purge APIs for old data.
  • Cleaning up media storage and offloading to S3.
  • Implementing worker mode for high-traffic deployments.
  • Executing backup and disaster recovery procedures for homeserver state.

Requirements

  • Intermediate proficiency in Linux and Docker administration.
  • Understanding of instant messaging protocols and federation concepts.
  • Familiarity with PostgreSQL and the deployment of Python applications.

Audience

  • IT teams seeking to replace Slack, Teams, or Discord with a sovereign alternative.
  • Organizations requiring on-premise messaging solutions with end-to-end encryption.
  • Government and defense entities needing federated, auditable chat infrastructure.
 14 Hours

Upcoming Courses

Related Categories