Skip to main content

Configuring Synapse

See how to download example files from the helm chart here.

Configuration

For a quick setup using the default settings, see the minimal fragment example in charts/matrix-stack/ci/fragments/synapse-minimal.yaml.

Configuring a postgresql database

If you want to use an external postgresql, see the following fragments examples:

  • charts/matrix-stack/ci/fragments/synapse-postgres.yaml
  • charts/matrix-stack/ci/fragments/synapse-postgres-secrets-in-helm.yaml or charts/matrix-stack/ci/fragments/synapse-postgres-secrets-externally.yaml

Credentials

Credentials are generated if possible. Alternatively they can either be provided inline in the values with value or if you have an existing Secret in the cluster in the same namespace you can use secret andsecretKey to reference it.

If you dont want the chart to generate the secret, please refer to the following values fragments examples to see the secrets to configure.

Synapse requires registrationSharedSecret, signingKey and macaroon secrets:

  • charts/matrix-stack/ci/fragments/synapse-secrets-in-helm.yaml
  • charts/matrix-stack/ci/fragments/synapse-secrets-externally.yaml

If you are configuring S3 storage, see the following values fragments examples to see the secrets to configure:

  • charts/matrix-stack/ci/fragments/synapse-s3-secrets-in-helm.yaml
  • charts/matrix-stack/ci/fragments/synapse-s3-secrets-externally.yaml

### Additional configuration

Additional Synapse configuration can be provided inline in the values as a string with

synapse:
  additional:
    ## Either reference config to inject by:
    1-custom-config:
      config: |
        admin_contact: "mailto:admin@example.com"
    ## Either reference an existing `Secret` by:
    2-custom-config:
      configSecret: custom-synapse-config
      configSecretKey: shared.yaml

Workers

The following Synapse workers are disabled by default and can be enabled on a per-worker basis :

  • appservice
  • background
  • client-reader
  • encryption
  • event-creator
  • event-persister
  • federation-sender
  • initial-synchrotron
  • media-repository
  • presence-writer
  • pusher
  • receipts-account
  • sliding-sync
  • sso-login
  • synchrotron
  • typing-persister
  • user-dir

Synapse workers can be configured in the values with:

synapse:
  workers:
    <worker name>:
      enabled: true

Each worker comes with a different options (static replicas, horizontal scaling, resources, etc). These options can be seen under synapse.workers.<name> section of helm show values for this chart.

The following Synapse pro workers are enabled by default :

  • federation-reader

They can be disabled in the values with :

synapse:
  workers:
    <worker name>:
      enabled: false

Full details on available configuration options can be found at https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html

Disabling Synapse

Synapse is enabled for deployment by default can be disabled with the following values

synapse:
  enabled: false