Homelab-Dokumentation und Konfigurationsvorlagen

Dokumentation aus dem Wiki uebernommen und um die Dienste auf dem Server
erweitert. Alle Anleitungen sind so geschrieben, dass sich der jeweilige
Dienst allein daraus neu aufsetzen laesst.

docs/      Dienste im Heimnetz (aus dem Wiki, anonymisiert)
services/  Dienste auf dem Server mit Konfigurationsvorlagen
           - matrix-synapse: Homeserver, Postgres, Well-Known-Delegation
           - coturn:         TURN-Relay fuer Anrufe
           - element-web:    Web-Client
           - wikijs, gitea, nginx

Durchgehend anonymisiert: echte Domain durch example.com ersetzt, IP-Adressen
und E-Mail-Adressen durch Platzhalter. Konfigurationsdateien liegen nur als
.example mit Platzhaltern statt echter Secrets vor.

Die Anleitungen halten die Stolpersteine fest, die beim Aufbau tatsaechlich
aufgetreten sind, unter anderem:
- Synapse verlangt LC_COLLATE=C, sonst startet es nicht
- server_name ist nachtraeglich nicht aenderbar -> Delegation noetig
- register_new_matrix_user liest conf.d nicht, Secret muss per -k kommen
- coturn braucht external-ip, sonst kommen keine Medien durch
- Gruppenmitgliedschaft fuer den Zertifikatszugriff wirkt erst beim Neustart
- nginx vererbt add_header nicht in location-Bloecke mit eigenen Direktiven
This commit is contained in:
x3
2026-08-31 17:56:02 +00:00
commit 4a55944aa8
32 changed files with 1848 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
# ===========================================================================
# coturn fuer Matrix/Element-Anrufe (turn.example.com)
# ===========================================================================
listening-port=3478
tls-listening-port=5349
# Auf allen Adressen lauschen, aber die oeffentliche IP in Kandidaten melden.
# Ohne external-ip kuendigt der Server hinter NAT die private IP an und
# Verbindungen scheitern.
external-ip=HIER-DIE-OEFFENTLICHE-IP
realm=example.com
server-name=turn.example.com
# Zeitbegrenzte Anmeldedaten. Synapse leitet daraus mit demselben Secret
# kurzlebige Zugangsdaten fuer die Clients ab -- es gibt keine festen Nutzer.
use-auth-secret
static-auth-secret=HIER-DAS-TURN-SECRET
# TLS-Material (SAN turn.example.com liegt im Matrix-Zertifikat)
cert=/etc/letsencrypt/live/matrix.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/matrix.example.com/privkey.pem
# Veraltete/schwache Verfahren abschalten
no-tlsv1
no-tlsv1_1
no-sslv3
fingerprint
# Relay-Portbereich
min-port=49152
max-port=65535
# --------------------------- Absicherung ----------------------------------
# Ohne diese Sperren laesst sich der TURN-Server als Sprungbrett in das
# eigene interne Netz und auf localhost missbrauchen.
no-multicast-peers
no-cli
no-tcp-relay
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=240.0.0.0-255.255.255.255
denied-peer-ip=::1
denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
# Missbrauch begrenzen
user-quota=12
total-quota=1200
syslog