<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mw.below-zero.net/index.php?action=history&amp;feed=atom&amp;title=Synapse_Matrix_Server</id>
	<title>Synapse Matrix Server - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://mw.below-zero.net/index.php?action=history&amp;feed=atom&amp;title=Synapse_Matrix_Server"/>
	<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Synapse_Matrix_Server&amp;action=history"/>
	<updated>2026-04-10T02:43:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in superMassive</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Synapse_Matrix_Server&amp;diff=12&amp;oldid=prev</id>
		<title>Elektrokid: Die Seite wurde neu angelegt: „&#039;&#039;&#039;Matrix Synapse Server Setup&#039;&#039;&#039;  Installations- und Konfigurationshandbuch  = 1. Voraussetzungen = •      Docker und Docker Compose auf dem vServer  •      Plesk mit Nginx als Webserver  •      Domain mx.nanotec.org mit SSL-Zertifikat (Let&#039;s Encrypt via Plesk)  •      Postfix/Exim als Mailserver auf dem Host   = 2. Docker Compose Konfiguration = &#039;&#039;&#039;Datei:&#039;&#039;&#039; /opt/dockers/synapse/docker-compose.yml  == 2.1 Services == •      post…“</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Synapse_Matrix_Server&amp;diff=12&amp;oldid=prev"/>
		<updated>2026-03-06T10:42:58Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039;Matrix Synapse Server Setup&amp;#039;&amp;#039;&amp;#039;  Installations- und Konfigurationshandbuch  = 1. Voraussetzungen = •      Docker und Docker Compose auf dem vServer  •      Plesk mit Nginx als Webserver  •      Domain mx.nanotec.org mit SSL-Zertifikat (Let&amp;#039;s Encrypt via Plesk)  •      Postfix/Exim als Mailserver auf dem Host   = 2. Docker Compose Konfiguration = &amp;#039;&amp;#039;&amp;#039;Datei:&amp;#039;&amp;#039;&amp;#039; /opt/dockers/synapse/docker-compose.yml  == 2.1 Services == •      post…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Matrix Synapse Server Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Installations- und Konfigurationshandbuch&lt;br /&gt;
&lt;br /&gt;
= 1. Voraussetzungen =&lt;br /&gt;
•      Docker und Docker Compose auf dem vServer&lt;br /&gt;
&lt;br /&gt;
•      Plesk mit Nginx als Webserver&lt;br /&gt;
&lt;br /&gt;
•      Domain mx.nanotec.org mit SSL-Zertifikat (Let&amp;#039;s Encrypt via Plesk)&lt;br /&gt;
&lt;br /&gt;
•      Postfix/Exim als Mailserver auf dem Host &lt;br /&gt;
&lt;br /&gt;
= 2. Docker Compose Konfiguration =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datei:&amp;#039;&amp;#039;&amp;#039; /opt/dockers/synapse/docker-compose.yml&lt;br /&gt;
&lt;br /&gt;
== 2.1 Services ==&lt;br /&gt;
•      postgres – PostgreSQL 16 Alpine als Datenbankbackend&lt;br /&gt;
&lt;br /&gt;
•      synapse – avhost/docker-matrix Image &lt;br /&gt;
&lt;br /&gt;
== 2.2 Volume-Mappings ==&lt;br /&gt;
•      /opt/dockers/synapse/data → /data&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/media_store → /media_store&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/pgdata → /var/lib/postgresql/data &lt;br /&gt;
&lt;br /&gt;
== 2.3 Port-Mappings ==&lt;br /&gt;
•      3478:3478 – TURN/STUN (Coturn)&lt;br /&gt;
&lt;br /&gt;
•      8008:8008 – Client-Server API (intern, Nginx leitet weiter)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig:&amp;#039;&amp;#039;&amp;#039; Port 8448 wird nicht in Docker gemappt – Nginx übernimmt diesen direkt.&lt;br /&gt;
&lt;br /&gt;
== 2.4 Extra Host für Mailserver ==&lt;br /&gt;
Damit der Container den Host-Mailserver erreichen kann:&lt;br /&gt;
&lt;br /&gt;
extra_hosts:  - &amp;quot;host.docker.internal:host-gateway&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Prüfen ob der Eintrag gesetzt ist:&lt;br /&gt;
&lt;br /&gt;
docker exec synapse cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
= 3. Erstkonfiguration (einmalig) =&lt;br /&gt;
&lt;br /&gt;
== 3.1 homeserver.yaml generieren ==&lt;br /&gt;
docker run -it --rm \   -v /opt/dockers/synapse/data:/data \   -e SERVER_NAME=mx.nanotec.org \   -e REPORT_STATS=no \  avhost/docker-&amp;lt;nowiki&amp;gt;matrix:latest&amp;lt;/nowiki&amp;gt; generate&lt;br /&gt;
&lt;br /&gt;
== 3.2 Datenbank-Konfiguration ==&lt;br /&gt;
In homeserver.yaml den SQLite-Block ersetzen:&lt;br /&gt;
&lt;br /&gt;
database:   name: psycopg2   args:    user: synapse     password: PASSWORT     database: synapse     host: postgres     cp_min: 5     cp_max: 10&lt;br /&gt;
&lt;br /&gt;
== 3.3 Listener-Konfiguration ==&lt;br /&gt;
listeners:   - port: 8008     tls: false     type: http     x_forwarded: true     bind_addresses: [&amp;#039;0.0.0.0&amp;#039;]     resources:       - names: [client, federation]         compress: false&lt;br /&gt;
&lt;br /&gt;
= 4. E-Mail-Konfiguration =&lt;br /&gt;
Synapse kommuniziert intern mit dem Host-Mailserver auf Port 25 ohne TLS und ohne Authentifizierung.&lt;br /&gt;
&lt;br /&gt;
== 4.1 homeserver.yaml – E-Mail-Block ==&lt;br /&gt;
email:   smtp_host: &amp;quot;host.docker.internal&amp;quot;  smtp_port: 25  require_transport_security: false  notif_from: &amp;quot;robot@nanotec.org&amp;quot;   app_name: &amp;quot;Matrix&amp;quot;   enable_notifs: true   notif_for_new_users: true   validation_token_lifetime: 1h&lt;br /&gt;
&lt;br /&gt;
== 4.2 Postfix – Docker-Subnetz freigeben ==&lt;br /&gt;
In /etc/postfix/main.cf das Docker-Subnetz ergänzen:&lt;br /&gt;
&lt;br /&gt;
mynetworks = 127.0.0.0/8 172.16.0.0/12&lt;br /&gt;
&lt;br /&gt;
Danach:&lt;br /&gt;
&lt;br /&gt;
systemctl reload postfix&lt;br /&gt;
&lt;br /&gt;
= 5. Nginx Federation-Konfiguration (Port 8448) =&lt;br /&gt;
Federation erfordert Port 8448 von außen über HTTPS. Nginx übernimmt TLS-Terminierung und leitet intern auf Port 8008 weiter.&lt;br /&gt;
&lt;br /&gt;
== 5.1 Speicherort ==&lt;br /&gt;
/etc/nginx/plesk.conf.d/vhosts/matrix-federation.conf&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Nur Dateien in /etc/nginx/plesk.conf.d/vhosts/ werden von Plesk automatisch eingebunden.&lt;br /&gt;
&lt;br /&gt;
== 5.2 Inhalt der Konfigurationsdatei ==&lt;br /&gt;
server {     listen 8448 ssl;     listen [::]:8448 ssl;     server_name mx.nanotec.org;      ssl_certificate     /opt/psa/var/certificates/scf4nSFAB;     ssl_certificate_key /opt/psa/var/certificates/scf4nSFAB;     location / {         proxy_pass &amp;lt;nowiki&amp;gt;http://127.0.0.1:8008&amp;lt;/nowiki&amp;gt;;        proxy_set_header X-Forwarded-For $remote_addr;         proxy_set_header X-Forwarded-Proto $scheme;         proxy_set_header Host $host;         client_max_body_size 50M;         proxy_http_version 1.1;     } }&lt;br /&gt;
&lt;br /&gt;
Zertifikatspfad ermitteln:&lt;br /&gt;
&lt;br /&gt;
grep ssl_certificate /etc/nginx/plesk.conf.d/vhosts/mx.nanotec.org.conf&lt;br /&gt;
&lt;br /&gt;
== 5.3 Nginx testen und neu laden ==&lt;br /&gt;
nginx -t &amp;amp;&amp;amp; systemctl reload nginx&lt;br /&gt;
&lt;br /&gt;
== 5.4 Lauscht Nginx auf 8448? ==&lt;br /&gt;
ss -tlnp | grep 8448&lt;br /&gt;
&lt;br /&gt;
Erwartet: nginx als Prozess (nicht docker-proxy)&lt;br /&gt;
&lt;br /&gt;
= 6. Federation testen =&lt;br /&gt;
Online-Tester:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://federationtester.matrix.org/#mx.nanotec.org&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Direkter API-Test:&lt;br /&gt;
&lt;br /&gt;
curl -v &amp;lt;nowiki&amp;gt;https://mx.nanotec.org:8448/_matrix/key/v2/server&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. Wartung &amp;amp; Hinweise =&lt;br /&gt;
&lt;br /&gt;
== 7.1 Zertifikat-Erneuerung ==&lt;br /&gt;
Plesk erneuert Let&amp;#039;s Encrypt Zertifikate automatisch. Der Pfad in /opt/psa/var/certificates/ kann sich dabei ändern. Nach jeder Erneuerung Federation-Tester prüfen und ggf. matrix-federation.conf aktualisieren.&lt;br /&gt;
&lt;br /&gt;
== 7.2 Offene Registrierung deaktivieren ==&lt;br /&gt;
enable_registration: false&lt;br /&gt;
&lt;br /&gt;
== 7.3 Backup – diese Verzeichnisse sichern ==&lt;br /&gt;
•      /opt/dockers/synapse/data – Konfiguration &amp;amp; Signing Keys&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/media_store – Mediendateien&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/pgdata – PostgreSQL Datenbank&lt;br /&gt;
&lt;br /&gt;
•      /etc/nginx/plesk.conf.d/vhosts/matrix-federation.conf &lt;br /&gt;
&lt;br /&gt;
== 7.4 Nützliche Container-Befehle ==&lt;br /&gt;
•      &amp;#039;&amp;#039;&amp;#039;Neustart (kein Datenverlust):&amp;#039;&amp;#039;&amp;#039; docker restart synapse&lt;br /&gt;
&lt;br /&gt;
•      &amp;#039;&amp;#039;&amp;#039;Neu erstellen:&amp;#039;&amp;#039;&amp;#039; docker compose up -d --force-recreate synapse&lt;br /&gt;
&lt;br /&gt;
•      &amp;#039;&amp;#039;&amp;#039;Logs:&amp;#039;&amp;#039;&amp;#039; docker logs -f synapse&lt;br /&gt;
&lt;br /&gt;
•      &amp;#039;&amp;#039;&amp;#039;Extra-Hosts prüfen:&amp;#039;&amp;#039;&amp;#039; docker inspect synapse | grep -A5 ExtraHosts&lt;br /&gt;
&lt;br /&gt;
•      &amp;#039;&amp;#039;&amp;#039;Hosts im Container:&amp;#039;&amp;#039;&amp;#039; docker exec synapse cat /etc/hosts&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
</feed>