Platform:

Channel Revision Published Runs on
latest/stable 426 20 Sep 2024
Ubuntu 22.04
latest/edge 523 07 Jan 2025
Ubuntu 22.04
2/edge 883 20 Mar 2026
Ubuntu 22.04
1/stable 818 13 Oct 2025
Ubuntu 22.04
1/edge 885 28 Apr 2026
Ubuntu 22.04
juju deploy synapse --channel 1/edge

Matrix Synapse chat server.

CharmHub Badge Publish to edge Promote charm Discourse Status

Synapse Operator

A Juju charm deploying and managing Synapse on Kubernetes. Synapse is a drop in replacement for other chat servers like Mattermost and Slack.

This charm simplifies initial deployment and "day N" operations of Synapse on Kubernetes, such as integration with SSO, access to S3 for redundant file storage and more. It allows for deployment on many different Kubernetes platforms, from MicroK8s to Charmed Kubernetes to public cloud Kubernetes offerings.

As such, the charm makes it easy for those looking to take control of their own Chat server whilst keeping operations simple, and gives them the freedom to deploy on the Kubernetes platform of their choice.

For DevOps or SRE teams this charm will make operating Synapse simple and straightforward through Juju's clean interface. It will allow easy deployment into multiple environments for testing of changes.

Get started

To begin, refer to the Getting Started tutorial for step-by-step instructions.

Basic operations

Configure a server name

The configuration server_name sets the public-facing domain of the server and refers to server_name Synapse configuration.

To change it to tutorial-synapse.juju.local, for example, run the following command:

juju config synapse server_name=tutorial-synapse.juju.local

Create a user

The following command creates a local user named alice.

juju run synapse/0 register-user username=alice password=<secure-password> admin=no

Promote user to admin

The following command can be used to promote an existing user to admin.

juju run synapse/0 promote-user-admin username=alice

Learn more

Project and community

Documentation

Our documentation is stored in the docs directory. It is based on the Canonical starter pack and hosted on Read the Docs. In structuring, the documentation employs the Diátaxis approach.

You may open a pull request with your documentation changes, or you can file a bug to provide constructive feedback or suggestions.

To run the documentation locally before submitting your changes:

cd docs
make run

GitHub runs automatic checks on the documentation to verify spelling, validate links and style guide compliance.

You can (and should) run the same checks locally:

make spelling
make linkcheck
make vale
make lint-md