You can either use an existing server like https://matrix.org or host your own Synapse server, which is described below.
See List of applications#Matrix clients for a list of Matrix clients.
The reference server implementation Synapse is available in the community repository as. The community package creates a synapse user.
After installation, a configuration file needs to be generated. It should be readable by the synapse user:
$ cd /var/lib/synapse $ sudo -u synapse python -m synapse.app.homeserver \ --server-name my.domain.name \ --config-path /etc/synapse/homeserver.yaml \ --generate-config \ --report-stats=yes
Note that this will generate corresponding SSL keys and self-signed certificates for the specified server name. You have to regenerate those if you change the server name.
If your Synapse server is meant to be accessed over the internet, it is highly recommended to configure a reverse proxy.
synapse.service systemd service is included in the package. It will start the synapse server as user synapse and use the configuration file
You need at least one user on your fresh synapse server. You may create one as your normal non-root user with the command
$ register_new_matrix_user -c /etc/synapse/homeserver.yaml http://127.0.0.1:8008
or using one of the matrix clients, for example , or the AUR plug-in for .
To enable the webcrawler, for server generated link previews, the additional packages
url_preview_enabled: True can be set in your
homeserver.yaml. To prevent the synapse server from issuing arbitrary GET requests to internal hosts the
url_preview_ip_range_blacklist: has to be set.
There are some examples that can be uncommented. Add your local IP ranges to that list to prevent the synapse server from trying to crawl them. After changing the
homeserver.yaml the service has to be restarted.
KDE community has a wide variety of matrix rooms for specific applications, languages, events and etc. See  for details.