Nextcloud 21 - High Performance Backend für Dateien

Nextcloud GmbH

Einleitung

Das High Performance Backend für Dateien in Nextcloud ist eine optionale, binäre Komponente, die in Rust entwickelt wurde. Es ist in der Lage, eine direkte Verbindung mit Desktop- und Web-Clients aufrechtzuerhalten und den Clients Datei-Änderungen und Benachrichtigungen zu übermitteln. Dadurch entfällt die Notwendigkeit, den Server regelmäßig abzufragen, wodurch die 30-Sekunden-Polling-Periode auf 5 Minuten reduziert wird und somit eine 90%ige Reduzierung der Client-Server-Verbindungen für Änderungsbenachrichtigungen und der damit verbundenen Serverlast erreicht wird. Die direkte Verbindung bietet sofortige Benachrichtigungen über Datei-Änderungen sowie über Ereignisse wie einen eingehenden Anruf, einen Kommentar zu einer Datei, eine Erwähnung in einer Chat-Nachricht und mehr. Die Leistungsverbesserungen bei der Datenbanknutzung, der Dateiverarbeitung und der app-spezifischen Arbeit in Kombination mit dem hochleistungsfähigen Backend werden voraussichtlich zu einer bis zu 10-fachen Steigerung der Kapazität großer Nextcloud-Server führen.


Vorraussetzungen:
- bestehende Nextcloud 21 Instanz mit Redis => Nextcloud unter Plesk installieren
- Nginx als Webserver (Proxymodus)
- SSH Zugriff auf den Server


Im Verlauf von NC 21 wird es Updates bezüglich der Client_Push App geben. Da nicht ausgeschlossen werden kann, dass hier auch notify_push aktualisiert wird, sollte nach jedem Update der App der Service neugestartet werden.
service notify_push restart

Installation der App "Client Push"

Damit der Dienst eingerichtet werden kann, muss die App aus dem App-Store heruntergeladen und aktiviert werden. Ist das geschehen, sind Sie bereits auf Cloud ebene fertig.


Client Push auf Serverebene konfigurieren

Location Block hinzufügen

Melden Sie sich im Plesk Interface auf Ihrem Server an und navigieren Sie hier zu der Domain, welche die Nextcloud Instanz beherbergt. Unter Einstellungen für Apache & nginx fügen Sie folgende Code Zeilen hinzu:

nginx
location /push/ {
    proxy_pass http://localhost:7867/;
    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;
}

Übernehmen Sie diese Einstellungen, der Webserver wird automatisch neugestartet.

Notify Push Setup

Melden Sie sich via SSH an Ihrem Server an und starten Sie Zeitgleich auch eine zweite Session. Mit folgendem Befehl, wird der installations Wizard gestartet:

Smarty
sudo -u ***Systembenutzer*** /opt/plesk/php/7.4/bin/php /var/www/vhosts/domain.tld/httpdocs/occ notify_push:setup

Passen Sie hier den Systembenutzer, PHP-Version sowie Pfad zur Nextcloud Instanz an.



In den meisten Fällen wird es hier zu einem Fehler kommen. Dennoch ist es wichtig, diesen Schritt einmal durchzuführen. Wechseln Sie kurz zum Plesk Interface und navigieren Sie hier zur config.php der Nextcloud und ergänzen Sie Folgendes:

Code
  '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

Systemmd Unit erstellen

Jetzt Wiederholen Sie das Setup:

Bash
sudo -u ***Systembenutzer*** /opt/plesk/php/7.4/bin/php /var/www/vhosts/domain.tld/httpdocs/occ notify_push:setup

Sollten nun alle Checks durchlaufen, wird Ihnen angezeigt, dass Sie eine systemmd Unit für das Backend, mit folgendem Inhalt, erzeugen sollen.

Drücken Sie jetzt nicht ENTER. Sondern wechseln Sie zu Ihrer zweiten SSH-Session. Erstellen Sie mit unten angegebenen Befehl die systemmd Unit und füllen Sie diese mit der Ausgabe, welche in der ersten SSH-Session angezeigt wird. Alternativ nutzen Sie obiges Muster

Bash
nano /etc/systemd/system/notify_push.service

Haben Sie die Datei erstellt, müssen Sie den Dienst nur noch starten:

Bash
systemctl enable --now notify_push

Ab hier wird die zweite SSH-Session nicht mehr benötigt. Wechseln Sie wieder in die erste SSH-Session und schließen Sie den Setup Wizard mit einem Enter ab. Wenn keine Fehlermeldung erscheinen sollte, ist die installation sowie konfiguration des High Performance Backend für Dateien abgeschlossen.


Über den Autor

Mark ist IT-Spezialist im Fachbereich der IT-Administratoren. Derzeit bereitet er sich auf den IT-Professional vor. Neben Beruf und Familie, erstellt er, als ein teil seines Hobbys, gerne Anleitungen und versucht diese anderen näherzubringen. Systemintegration, Administration sowie Gaming sind Marks Leidenschaft und Hobby.

Foxly Team

Antworten 1