Nextcloud - High Performance Backend für Dateien bei mehreren NC Instanzen
-
- Debian 11|12
- Ubuntu 22.04
-
Foxly -
3. März 2021 um 08:33 -
0 Kommentare -
4.879 Mal gelesen
Im Zeitraum vom 09.04.2024 - 28.03.2025 ist der Support eingeschränkt. In dem genannten Zeitraum, befinde ich mich auf einer Weiterbildung.
Einleitung
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
Client Push auf Serverebene konfigurieren
Location Block hinzufügen
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.
Notify Push Setup
Ö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
Systemmd Unit erstellen
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!
Aktivieren der systemmd Unit
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
Über den Autor
Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.
Kommentare
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.