docs: optimize README for Cloudflare Tunnels instead of Nginx
This commit is contained in:
38
README.md
38
README.md
@@ -7,11 +7,11 @@ Dieses Projekt stellt einen eigenen, föderierbaren **Matrix Homeserver** auf Ba
|
|||||||
## 🛠 Architektur & Dienste
|
## 🛠 Architektur & Dienste
|
||||||
|
|
||||||
Das Setup besteht aus drei Docker-Containern:
|
Das Setup besteht aus drei Docker-Containern:
|
||||||
1. **`matrix_synapse`**: Der eigentliche Matrix Homeserver (Synapse), vorkonfiguriert für das Domain-Routing unter `mischlabs.de` und die technische Bereitstellung auf `matrix.mischlabs.de`.
|
1. **`matrix_synapse`**: Der eigentliche Matrix Homeserver (Synapse), vorkonfiguriert für das Domain-Routing unter `mischlabs.de` und erreichbar über `matrix.mischlabs.de`.
|
||||||
2. **`matrix_synapse_db`**: Eine dedizierte PostgreSQL 16 Datenbank für maximale Performance und Zuverlässigkeit.
|
2. **`matrix_synapse_db`**: Eine dedizierte PostgreSQL 16 Datenbank für maximale Performance und Zuverlässigkeit.
|
||||||
3. **`matrix_element`**: Der Web-Client **Element**, erreichbar unter `chat.mischlabs.de`.
|
3. **`matrix_element`**: Der Web-Client **Element**, erreichbar unter `chat.mischlabs.de`.
|
||||||
|
|
||||||
Die Container binden sich an das Docker-Netzwerk `npm-net` an, damit sie vom **Nginx Proxy Manager** (oder Cloudflare Tunnel) auf der NAS direkt erreicht und mit SSL-Zertifikaten versorgt werden können.
|
Da du **Cloudflare (Cloudflare Tunnels)** nutzt, entfällt jegliche komplexe Nginx-Netzwerkkonfiguration. Die Container laufen im standardmäßigen Bridge-Netzwerk und werden über ihre Ports direkt auf der NAS-IP bereitgestellt, wo Cloudflare sie sicher abgreift.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -44,28 +44,18 @@ Melde dich in deiner Keycloak Admin-Konsole (`https://auth.mischlabs.de`) an:
|
|||||||
1. Öffne die `.env`-Datei auf der NAS und trage dein Keycloak-Secret bei `KEYCLOAK_CLIENT_SECRET` ein.
|
1. Öffne die `.env`-Datei auf der NAS und trage dein Keycloak-Secret bei `KEYCLOAK_CLIENT_SECRET` ein.
|
||||||
2. Öffne `/data/homeserver.yaml` und ersetze `DEIN_KEYCLOAK_CLIENT_SECRET` durch dein Keycloak Client Secret.
|
2. Öffne `/data/homeserver.yaml` und ersetze `DEIN_KEYCLOAK_CLIENT_SECRET` durch dein Keycloak Client Secret.
|
||||||
|
|
||||||
### 4. Reverse Proxy einrichten (Nginx Proxy Manager)
|
### 4. Cloudflare Tunnel einrichten
|
||||||
Erstelle im Nginx Proxy Manager zwei neue Proxy Hosts:
|
Erstelle in deinem Cloudflare One Dashboard (Zero Trust) unter **Tunnels** zwei neue Public Hostnames für deinen Tunnel:
|
||||||
|
|
||||||
#### Host 1: Matrix Server (`matrix.mischlabs.de`)
|
#### Route 1: Matrix Server (`matrix.mischlabs.de`)
|
||||||
* **Domain Names:** `matrix.mischlabs.de`
|
* **Public Hostname:** `matrix.mischlabs.de`
|
||||||
* **Scheme:** `http`
|
* **Service Type:** `HTTP`
|
||||||
* **Forward Host IP:** `matrix_synapse` (oder die NAS-IP `192.168.178.88`)
|
* **URL:** `http://<NAS-IP>:8008` (z. B. `http://192.168.178.88:8008`)
|
||||||
* **Forward Port:** `8008`
|
|
||||||
* **Block Common Exploits:** Aktiviert
|
|
||||||
* **SSL:** Let's Encrypt Zertifikat aktivieren, *Force SSL* und *HTTP/2 Support* aktivieren.
|
|
||||||
* **Advanced Config (Sehr Wichtig für Föderation):**
|
|
||||||
Füge unter *Custom Nginx Configuration* Folgendes hinzu, damit große Datei-Uploads klappen:
|
|
||||||
```nginx
|
|
||||||
client_max_body_size 100M;
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Host 2: Element Web Client (`chat.mischlabs.de`)
|
#### Route 2: Element Web Client (`chat.mischlabs.de`)
|
||||||
* **Domain Names:** `chat.mischlabs.de`
|
* **Public Hostname:** `chat.mischlabs.de`
|
||||||
* **Scheme:** `http`
|
* **Service Type:** `HTTP`
|
||||||
* **Forward Host IP:** `matrix_element` (oder die NAS-IP `192.168.178.88`)
|
* **URL:** `http://<NAS-IP>:8088` (z. B. `http://192.168.178.88:8088`)
|
||||||
* **Forward Port:** `8088`
|
|
||||||
* **SSL:** Let's Encrypt Zertifikat aktivieren, *Force SSL* und *HTTP/2 Support* aktivieren.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -90,9 +80,9 @@ docker compose logs -f synapse_db
|
|||||||
|
|
||||||
## 🌐 .well-known Domain-Delegierung aktivieren
|
## 🌐 .well-known Domain-Delegierung aktivieren
|
||||||
|
|
||||||
Damit dein Server über `@username:mischlabs.de` föderieren kann und Clients die richtige Homeserver-URL finden, haben wir die `nginx.conf` deiner `mischlabs` Landingpage angepasst.
|
Damit dein Server über `@username:mischlabs.de` föderieren kann und Clients die richtige Homeserver-URL finden, haben wir die `.well-known` Delegierung direkt in das Node.js-Backend (`server.js`) deiner Landingpage eingebaut.
|
||||||
|
|
||||||
Wenn du das nächste Mal die Landingpage deployst (per Gitea Actions/Watchtower), werden die Pfade `https://mischlabs.de/.well-known/matrix/server` und `https://mischlabs.de/.well-known/matrix/client` automatisch korrekt ausgeliefert.
|
Nginx-Reste wurden komplett entfernt. Wenn du das nächste Mal die Landingpage deployst (per Gitea Actions/Watchtower), werden die Pfade `https://mischlabs.de/.well-known/matrix/server` und `https://mischlabs.de/.well-known/matrix/client` automatisch als korrekte JSON-Antworten über Cloudflare ausgeliefert.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user