GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

10 einfach zu befolgende Tipps zum Verwalten einer selbst gehosteten Nextcloud-Instanz mit Docker

Nextcloud braucht keine Einführung. Es ist die beliebteste Open-Source-Software zum Selbsthosten einer Collaboration-Suite, die Ihnen Zugang zu Dokumentenzusammenarbeit, Datei-Hosting, Projektmanagement-Boards und Chat-Diensten bietet.

Wir verwenden Nextcloud für die Verwaltung unserer Teamaktivitäten auf Linux Handbook und It's FOSS. Wir hosten unsere Nextcloud-Instanz selbst mit Docker-Container. Diese Self-Hosting-Erfahrung hat uns einige wichtige Lektionen gelehrt und ich werde sie mit Ihnen teilen. Dies wird Ihnen helfen, wenn Sie ein täglicher Nextcloud-Administrator sind.

Ich gehe davon aus, dass Sie Docker verwenden, um Nextcloud bereitzustellen. Die meisten Tipps konzentrieren sich darauf, während einige allgemeine Ratschläge sind, die für alle Arten von Nextcloud-Bereitstellungen gelten.

1. Verwenden Sie den occ-Befehl auf Nextcloud mit Docker

Der Befehl occ stammt von ownCloud, einer Abkürzung für „ownCloud Console“, die hauptsächlich für Wartung, Diagnose und Fehlerbehebung verwendet wird. Da Nextcloud ein Fork der Codebasis von ownCloud 2016 ist, ist occ Das Design von ist sehr ähnlich.

Für Nextcloud-Administratoren kann das Wissen über seine Verwendung für Wartungsaktivitäten äußerst praktisch sein, und daher ist das Referenzhandbuch sehr hilfreich.

Bei Docker ist die spezifische Syntax zur Verwendung jedoch ganz anders und länger:

docker exec -u www-data -it nextcloud php occ <command>

Hier verwenden Sie docker exec mit www-data als Benutzer. nextcloud ist der Name des Nextcloud-Docker-Containers und php wird verwendet, um occ auszuführen Befehl innerhalb des Containers.

2. Aktualisieren Sie Nextcloud nicht direkt nach einer neuen Version

Eine brandneue Version von Nextcloud kann sehr verlockend sein. Aber es wurde schon oft beobachtet, dass ein voreiliges Upgrade Nextcloud möglicherweise vollständig unbrauchbar machen kann.

Ich empfehle, mindestens auf die Veröffentlichung des ersten Patches zu warten. Beispielsweise kann ein Upgrade von 20.0.6 auf 21.0.0 riskant sein. Ein direktes Upgrade von xx.0.x auf xy.0.0 wird NICHT empfohlen. Stattdessen wäre es besser, zumindest auf die Version xy.0.1 zu warten.

3. Priorisieren Sie Sicherheit und Fehlerkorrekturen gegenüber Funktionen, wenn Sie Nextcloud aktualisieren

Es ist leicht, von einer neuen Funktion in Versuchung geführt zu werden, die nur in einer neu veröffentlichten Version verfügbar ist. Stellen Sie sicher, dass das Upgrade nicht zu Lasten einer reduzierten Leistung oder verschlechterten Funktionalität geht. Es könnte sich auf Nextcloud in seiner Gesamtheit oder auf eine bestimmte Nextcloud-App beziehen, was Ihre Produktivität ernsthaft beeinträchtigen kann.

4. Dinge, die Sie vor dem Upgrade Ihrer Nextcloud-Instanz beachten sollten

Überprüfen Sie das offizielle Forum sowie das GitHub-Repository gründlich auf die neuesten Probleme, wenn Sie an ein Upgrade denken. So bedauerlicherweise es heutzutage bemerkt wird, kommt es heutzutage sehr häufig vor, dass ein Problem die Nextcloud-Oberfläche extrem langsam gemacht hat.

Stellen Sie also sicher, dass Sie das Szenario auf einem geklonten Server und seiner Lösung replizieren können, bevor Sie dies auf einem Produktionsserver tun. Halten Sie das Upgrade an, wenn es die Funktionalität beeinträchtigt.

5. Sichern Sie vor einem Upgrade immer die Datenbank und das Nextcloud-Volume

Auf der Ebene des Hostsystems können Sie niemals dieselben Dateien auf einer aktualisierten Nextcloud mit einer heruntergestuften Version verwenden. Erstellen Sie daher immer ein Backup Ihrer Nextcloud und des entsprechenden Datenbank-Volumes, bevor Sie das Upgrade durchführen. Der Ansatz ist derselbe, den ich in einem früheren Beitrag für Ghost besprochen habe.

7 nützliche Tipps zum Selbsthosten eines Ghost-Blogs mit DockerEine nützliche Checkliste, die verhindern kann, dass viele wiederkehrende Wartungsprobleme auf Ihrer Ghost-Docker-Instanz auftreten, nachdem Sie sie bereitgestellt haben. Linux-HandbuchAvimanyu Bandyopadhyay

6. Behalten Sie regelmäßig den Abschnitt „Übersicht“ in den Nextcloud-Einstellungen im Auge

Wussten Sie, dass es unter den Einstellungen einen Übersichtsbereich gibt? Dieser Abschnitt warnt Sie vor Sicherheits- und Einrichtungsproblemen.

Sie können darauf zugreifen, indem Sie in der oberen rechten Ecke Ihres Dashboards zu den Einstellungen gehen.

Die Option „Übersicht“ wird im Abschnitt „Verwaltung“ angezeigt.

Hier können Sie sich über die entsprechenden Berichte auf dem Dashboard einen Überblick über Leistungs- oder Sicherheitsprobleme in Ihrer Nextcloud verschaffen.

7. Sorgen Sie für regelmäßige Sicherheitskontrollen

Nextcloud bietet ein kostenloses Webtool, mit dem Sie Ihren Nextcloud-Server auf bekannte Schwachstellen überprüfen können. Das Beste daran ist, dass Sie nicht einmal etwas auf Ihrem Server installieren müssen. Geben Sie einfach die URL Ihrer Instanz ein.

Von Zeit zu Zeit wird dringend empfohlen, Ihre Instanz-URL zu scannen, um eine Vorstellung von den Sicherheitsparametern Ihrer Nextcloud-Bereitstellung zu bekommen.

8. Behalten Sie die von Ihnen verwendeten Apps im Auge

Es ist bekannt, dass viele Apps auf Nextcloud die gesamte Nextcloud-Oberfläche vollständig unbrauchbar gemacht haben. Behalten Sie die Foren und GitHub-Probleme der einzelnen Apps im Auge, die Sie auf Ihrer Nextcloud-Instanz verwenden.

9. Klonen Sie Ihren Produktionsserver, um Upgrades zu testen

Wenn Sie einen Cloud-Server wie Linode verwenden, haben Sie die Möglichkeit, Ihren gesamten Server einfach zu klonen.

Linode | Die unabhängige offene Cloud für EntwicklerUnsere Mission ist es, Innovationen zu beschleunigen, indem wir Cloud Computing einfach, erschwinglich und für alle zugänglich machen. Linode

Dies ist ein äußerst hilfreicher Schritt, um Ausfallzeiten (falls vorhanden) auf ein absolutes Minimum zu beschränken, wenn Sie daran denken, Ihre Nextcloud-Instanz zu aktualisieren. Es stellt auch sicher, dass eine Live-Sicherungskopie Ihrer Nextcloud-Instanz in regelmäßigen Abständen verfügbar ist, wenn Sie Ihren Server klonen.

Sobald Sie sichergestellt haben, dass es sich um ein stabiles Upgrade handelt, überwachen Sie es für einige Zeit auf dem geklonten Server. Wenn Sie absolut sicher sind, dass es sich um einen stabilen Übergang handelt, zeichnen Sie Ihre Erfahrungen anhand einer vollständigen Dokumentation des Upgrade-Prozesses und der Schritte auf, die Sie möglicherweise unternommen haben, um Probleme nach dem Upgrade zu beheben. Später können Sie fortfahren und dieselben Schritte auf dem Produktionsserver replizieren, indem Sie Ihrer eigenen Dokumentation folgen.

10. Suchen Sie in den Foren nach gemeldeten Problemen

Nextcloud bietet normalerweise einen schrittweisen Prozess zur Lösung der Probleme, die es in den Übersichtseinstellungen meldet. Wenn dies nicht ausreicht, können Sie die gemeldeten Probleme auf „GitHub-Probleme“ oder im Nextcloud-Forum kopieren und einfügen.

Es besteht eine hohe Wahrscheinlichkeit, dass das Problem bekannt ist und der Fix bereits bereitgestellt wurde. Ohne auf den nächsten Patch warten zu müssen, können Sie den Fix zuerst auf einem geklonten Server testen und selbst Abhilfe schaffen.

Bonus-Tipp

Generell empfiehlt Nextcloud, in den Wartungsmodus zu wechseln, wenn bestimmte Befehle erforderlich sind.

Beispiel:occ db:convert-filecache-bigint dabei werden BigInt (64bit) Identifikatoren nach einem Upgrade vorgeschlagen.

Aber ich würde es vorziehen, immer in den Wartungsmodus zu wechseln, bevor Sie einen occ-Befehl ausführen, der im Abschnitt "System &Sicherheit" vorgeschlagen wird.

Anknüpfend an das unter Punkt 1 erwähnte Beispielkommando wäre das entsprechende Kommando:

docker exec -u www-data -it nextcloud php occ maintenance:mode --on

Führen Sie nun den Befehl wie vorgeschlagen aus. Angenommen, Sie bemerken diese Nachricht:

Some indices are missing in the database. Because adding indexes to large tables may take some time, they have not been added automatically. By executing "occ db: add-missing-indices", missing indexes can be added manually while the instance is running. Once the indexes have been added, queries to these tables are usually faster.

Hier ist der Vorschlag, occ db: add-missing-indices auszuführen . Aber wie in Punkt 1 diskutiert, ist diese Empfehlung unzureichend; besonders wenn Sie Nextcloud mit Docker betreiben. Daher lautet der hier erforderliche vollständige Befehl:

docker exec -u www-data -it nextcloud php occ db: add-missing-indices

[email protected]:~$ docker exec -u www-data -it nextcloud php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time...
calendarobjects_props table updated successfully.
Check indices of the schedulingobjects table.
Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time...
schedulingobjects table updated successfully.

Deaktivieren Sie jetzt den Wartungsmodus:

docker exec -u www-data -it nextcloud php occ maintenance:mode --off

Denkstoff

Alle oben genannten 10 Hinweise sind das Ergebnis von mehr als einem Jahr Erfahrung auf einem Live-Produktionssystem. Während dieser Zeit war das folgende Dreieck für mich ein sehr wichtiger Leitfaden, um ein empfindliches Gleichgewicht zwischen Sicherheit, Benutzerfreundlichkeit und Funktionalität zu wahren und es mit der Funktionsweise von Nextcloud zu korrelieren.

Dies gilt für jedes Bereitstellungssystem und nicht nur für Nextcloud. Dies sind zweifellos die Grundpfeiler jeder DevOps-basierten Bereitstellung.

Wenn es um Nextcloud geht, müssen Sie immer den Hauptunterschied zwischen Nextcloud und Nextcloud Hub im Auge behalten. Nextcloud selbst ist in erster Linie ein File-Hosting-Service, während Nextcloud Hub eine Content-Collaboration-Plattform ist (eine Teilmenge von Nextcloud).

Wie können Sie dieses Szenario mit Funktionalität und Benutzerfreundlichkeit in Verbindung bringen? In der obigen Diskussion habe ich Collabora Online erwähnt, einen Teil von Nextcloud Hub, der eindeutig mit Benutzerfreundlichkeit in Verbindung gebracht werden kann.

Wenn das gesamte Nextcloud-Dashboard aufgrund einer neu veröffentlichten Version von Collabora Online ins Stocken gerät, wird dessen Funktionalität beeinträchtigt geht völlig durcheinander. Collabora Online wurde mit Nextcloud Hub gebündelt, wobei die Benutzerfreundlichkeit berücksichtigt wurde Dokumente online zu verwalten. Aber wenn das auf Kosten der drastischen Verlangsamung der gesamten GUI geht und sie völlig unbrauchbar macht, verfehlt es seinen Hauptzweck vollständig! Daher ist es immer sehr wichtig, dieses empfindliche Gleichgewicht zwischen Funktionalität und Benutzerfreundlichkeit zu wahren (natürlich mit einem vorsichtigen Blick auf die Sicherheit).

Jede Anwendung ist anders und daher kann es von Fall zu Fall sehr entscheidend sein, wie Sie jede dieser 3 Metriken kalibrieren.

Ich hoffe wirklich, dass diese Hinweise und Gedanken Ihnen bei der täglichen Verwaltung Ihrer Nextcloud-Instanz helfen, insbesondere wenn Sie ein Administrator sind, der einen selbst gehosteten Nextcloud-Dienst mit Docker verwaltet. Wenn Sie Kommentare, Vorschläge oder einen neuen Punkt zum Teilen haben, tun Sie dies bitte im Abschnitt unten.


Docker
  1. 3 Tipps zum Drucken mit Linux

  2. 4 Tipps, um einen älteren Verwandten mit Linux online zu bringen

  3. 5 Tipps für den Einstieg in die Linux-Serversicherheit

  4. Richten Sie Nextcloud mit Redis mit Docker ein

  5. Stellen Sie Nextcloud auf Docker mit Ansible bereit

5 Tipps zur Konfiguration von virtualenvs mit Ansible Tower

Integrieren Sie Collabora Online mit Nextcloud auf Ubuntu ohne Docker

So scannen Sie Docker-Container-Images mit Trivy auf Schwachstellen

So führen Sie NGINX in Docker aus (für einfache automatische Skalierung)

So automatisieren Sie Docker-Sicherheitsaudits mit Docker Bench for Security

Docker-Befehle zum Verwalten des Containerlebenszyklus (Definitive Guide)