Skip to content

Files

Latest commit

524d163 · Jul 15, 2025

History

History
123 lines (89 loc) · 5.04 KB
·

advanced.md

File metadata and controls

123 lines (89 loc) · 5.04 KB
·

Advanced setup

Contents

Values documentation

The Helm chart values documentation is available in:

Configuration samples are available in the GitHub repository.

Using a dedicated PostgreSQL database

You need to create 2 databases:

To configure your own PostgreSQL Database in your installation, copy the file charts/matrix-stack/ci/fragments/quick-setup-postgresql.yaml to postgresql.yaml in your ESS configuration values directory and configure it accordingly.

Configuring the storage path when using K3s

K3s by default deploys the storage in /var/lib/rancher/k3s/storage/. If you want to change the path, you will have to run the K3s setup with the parameter --default-local-storage-path <your path>.

Configuring Traefik ingress timeouts when using K3s

If you are experiencing timeouts when uploading large files to ESS, you will want to customize Traefik timeouts creating the file traefik-config.yaml in /var/lib/rancher/k3s/server/manifests. If the file already exists because you have configured custom ports for Traefik, add the example below to the existing file.

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    ports:
      web:
        transport:
          respondingTimeouts:
            readTimeout: "<timeout in seconds>s"
            writeTimeout: "<timeout in seconds>s"
            idleTimeout: "<timeout in seconds>s"
      websecure:
        transport:
          respondingTimeouts:
            readTimeout: "<timeout in seconds>s"
            writeTimeout: "<timeout in seconds>s"
            idleTimeout: "<timeout in seconds>s"

The above values correspond to the Traefik installation managed by K3s. If you are installing Traefik by other means, the exact structure of the configuration may differ.

Monitoring

The chart provides ServiceMonitor automatically to monitor the metrics exposed by ESS Community.

If your cluster has Prometheus Operator or Victoria Metrics Operator installed, the metrics will automatically be scraped.

Configuration

ESS Community allows you to easily configure its individual components. You basically have to create a values file for each component in which you specify your custom configuration. Below you find sections for each component.

If you have created new values files for custom configuration, make sure to apply them by passing them with the helm upgrade command (see Setting up the stack).

Configuring Element Web

Element Web configuration is written in JSON. The documentation can be found in the Element Web repository.

To configure Element Web, create a values file with the JSON config to inject as a string under “additional”:

elementWeb:
  additional:
    user-config.json: |
      {
        "some": "settings"
      }

Configuring Synapse

Synapse configuration is written in YAML. The documentation can be found here.

synapse:
  additional:
    user-config.yaml:
      config: |
        # Add your settings below, taking care of the spacing indentation
        some: settings

Configuring Matrix Authentication Service

Matrix Authentication Service configuration is written in YAML. The documentation can be found here.

matrixAuthenticationService:
  additional:
    user-config.yaml:
      config: |
        # Add your settings below, taking care of the spacing indentation
        some: settings