Dieses Repository bietet eine bewährte Docker Compose Konfiguration für eine skalierbare Nextcloud-Installation, die für anspruchsvolle Anwendungen wie Nextcloud Talk optimiert ist. Die Konfiguration beinhaltet alle notwendigen Komponenten: Datenbank, Caching (Redis), ein High Performance Backend (HPB), TURN/STUN (Coturn) und das optionale Recording Backend.
- Docker & Docker Compose: Installiert und lauffähig.
- Reverse Proxy/Tunnel: Ein externer Reverse Proxy (z.B. Nginx, Traefik, Caddy) oder ein Zero Trust Tunnel (z.B. Cloudflare
cloudflared) ist erforderlich, um SSL/TLS zu terminieren und den Traffic zu den Containern zu leiten.- Hinweis für Home-Server-Betreiber: Die Nutzung eines Cloudflare Zero Trust Tunnels (Cloudflared) wird zur sicheren Offenlegung der Dienste ohne Port-Freigabe im Router empfohlen.
- Domänen: Zwei Subdomänen sind zwingend erforderlich:
cloud.example.com(Für Nextcloud und Webzugriff)talk.example.com(Für das Talk HPB und Coturn)
Ersetzen Sie alle Platzhalter (EXAMPLE_...) in den folgenden drei Dateien durch Ihre spezifischen Domänennamen, Secrets und Pfade.
Stellen Sie Ihre Secrets, Passwörter, die Mount-Pfade und die Port-Zuordnungen ein.
- Ports: Beachten Sie, dass Nextcloud auf Port
8080, das HPB auf Port9090und das Recording Backend auf Port8082für den internen Workaround freigegeben sind. - Networking: Das Subnetz
172.19.0.0/16ist fest codiert, um sicherzustellen, dass das Docker Gateway die erwartete IP172.19.0.1beibehält (wichtig für interne Workarounds).
Diese Datei muss vor dem ersten Start angepasst und im Hauptverzeichnis des Projekts abgelegt werden.
- Secrets und Domänen: Setzen Sie
trusted_domains,overwrite.cli.urlund alle Datenbank-Anmeldeinformationen. - Talk-Secrets: Die Secrets für
spreedundlog_audit_keymüssen mit den Werten indocker-compose.ymlübereinstimmen. - Proxy-Einstellungen: Der Eintrag
trusted_proxiesmuss das Docker Gateway verwenden, damit HTTPS von Ihrem Reverse Proxy/Tunnel korrekt erkannt wird.// Muss gesetzt werden, wenn ein Reverse Proxy/Tunnel SSL terminiert 'overwriteprotocol' => 'https', 'overwritehost' => 'cloud.example.com', 'trusted_proxies' => ['172.19.0.1'], // Docker Gateway IP
- Recording Backend Workaround: Fügen Sie diese Zeile für die Aufzeichnungsfunktion hinzu, die aufgrund der internen Bindungsprobleme des AIO-Images über das Gateway geleitet werden muss:
'log_audit_backend' => '[http://172.19.0.1:8082/api/v1/recording/](http://172.19.0.1:8082/api/v1/recording/)',
Diese Konfigurationsdatei steuert das HPB und muss die öffentlichen URLs für den TURN/Coturn-Dienst enthalten.
Stellen Sie sicher, dass die Dateistruktur für die Volumes korrekt ist und die config.php die richtigen Berechtigungen hat.
# Stellen Sie sicher, dass der Ordner existiert
mkdir -p ./signaling
# Erstellen Sie die server.conf Datei
nano ./signaling/server.conf
# Setzen Sie die Berechtigung für config.php VOR dem Start (wichtig)
sudo chown 33:33 config.php