TURN-Server für Nextcloud Talk

Mit dem Erscheinen von Nextcloud 21, wurde auch das High Performance Backend für Dateien eingeführt. In meinem ersten Tutorial darüber bin ich darauf eingegangen, wie es für eine Domain eingerichtet wird. Da es aber auch den Fall geben könnte, dass mehrere Nextcloud Instanzen auf einem Server betrieben werden, muss für jede weitere Nextcloud Instanz eine weiterer systemmd Unit erstellt werden.
Voraussetzungen:
- bestehende Nextcloud 21 (oder neuer) Instanz mit Redis
- Nginx als Webserver
- SSH Zugriff auf den Server
- Client Push App für jede weitere NC Instanz installiert => Nextcloud 21 - High Performance Backend für Dateien
Melden Sie sich im Webinterface auf Ihrem Server an und navigieren Sie hier zu der Domain, welche die Nextcloud Instanz beherbergt. In Ihrer vHost fügen Sie folgende Codezeilen hinzu:
location /push/ {
proxy_pass http://localhost:7867/; # proxy_pass http://localhost:7868/; ... proxy_pass http://localhost:7869/; usw.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Haben Sie bereits mein erstes Tutorial erfolgreich für eine Domain angewendet, ist der Port 7867 bereits belegt. Damit weitere Instanzen, Client Push nutzen können, muss also ein anderer Port genutzt werden. Ein Beispiel hierfür ist dem Codeblock oben zu entnehmen.
Übernehmen Sie diese Einstellungen, der Webserver wird automatisch neu gestartet.
Öffnen Sie die config.php der Nextcloud und ergänzen Sie Folgendes:
'trusted_proxies' =>
array (
0 => '127.0.0.1',
1 => '::1',
2 => 'SERVER IP',
),
Wichtig: trusted_proxies darf nur einmal definiert werden! Überprüfen Sie also Ihre komplette Konfiguration in der config.php
Für jede weitere Nextcloud Instanz muss eine neue systemmd Unit erstellt werden. Damit es übersichtlicher wird, hängen wir den Domainnamen einfach am Ende an:
nano /etc/systemd/system/notify_push_domainname.service
In dieser Datei fügen wir Folgendes hinzu:
[Unit]
Description = Push daemon for Nextcloud clients
[Service]
Environment=PORT=7867
Environment=NEXTCLOUD_URL=https://domain.tld
ExecStart=/home/cloudpanel/htdocs/domain.tld/apps/notify_push/bin/x86_64/notify_push /home/cloudpanel/htdocs/domain.tld/config/config.php
User=clp
[Install]
WantedBy = multi-user.target
Alles anzeigen
Der Port muss exakt derselbe sein, wie im Location Block!
systemmd Unit aktivieren mit folgendem Befehl
systemctl enable --now notify_push_domainname
Anschließend Notify_Push setup starten
# CloudPanel
sudo -u clp php7.4 /home/cloudpanel/htdocs/domain.tld/occ notify_push:setup https://cloud.example.com/push
Es ist wichtig den FQDN der Nextcloud Instanz mit dem Zusatz /push anzugeben.
Der Push Dienst kann mit folgendem Befehl geprüft werden, welchen Status er hat:
service notify_push_domainname status
Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als,
Teil meines Hobbys, gerne Tutorials.
Hier können Sie uns unterstützen.