Skip to content

meltymon/-Nextcloud-High-Performance-HP-Docker-Stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nextcloud Talk High Performance Stack

Robuste Docker Compose Installation mit Talk HPB und Recording

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.

🚩 Voraussetzungen

  1. Docker & Docker Compose: Installiert und lauffähig.
  2. 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.
  3. 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)

1. Konfigurationsdateien vorbereiten

Ersetzen Sie alle Platzhalter (EXAMPLE_...) in den folgenden drei Dateien durch Ihre spezifischen Domänennamen, Secrets und Pfade.

1.1. docker-compose.yml bearbeiten

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 Port 9090 und das Recording Backend auf Port 8082 für den internen Workaround freigegeben sind.
  • Networking: Das Subnetz 172.19.0.0/16 ist fest codiert, um sicherzustellen, dass das Docker Gateway die erwartete IP 172.19.0.1 beibehält (wichtig für interne Workarounds).

1.2. config.php (Hauptkonfiguration)

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.url und alle Datenbank-Anmeldeinformationen.
  • Talk-Secrets: Die Secrets für spreed und log_audit_key müssen mit den Werten in docker-compose.yml übereinstimmen.
  • Proxy-Einstellungen: Der Eintrag trusted_proxies muss 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/)',

1.3. signaling/server.conf (HPB Konfiguration)

Diese Konfigurationsdatei steuert das HPB und muss die öffentlichen URLs für den TURN/Coturn-Dienst enthalten.

2. Dateistruktur und Berechtigungen

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

About

# Nextcloud High Performance (HP) Docker Stack

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages