So hosten Sie eine kollaborative Cloud mit Nextcloud und Docker

0
209
monticello/Shutterstock.com

Nextcloud ist eine Open-Source-Plattform für den Dateiaustausch und die Zusammenarbeit mit konkurrierenden Diensten wie Google Workplace und Microsoft 365. Mit Nextcloud können Sie Ihre eigene Cloud für die Zusammenarbeit selbst hosten, sodass Sie sich nicht selbst daran festhalten müssen ein öffentlicher Anbieter.

Die Einrichtung einer regulären Nextcloud-Installation kann zeitaufwändig sein. Nextcloud basiert auf dem klassischen LAMP-Stack, sodass Sie Apache, PHP und MySQL mit jeweils eigenen Voraussetzungen benötigen. Dies kann es schwierig machen, die Installation aufrechtzuerhalten oder sie zusammen mit anderen Workloads auf Ihrem Server zu verwenden.

Das Ausführen von Nextcloud als Docker-Container vereinfacht den Einrichtungsvorgang und ermöglicht es Ihnen, die Installation von Ihren anderen Anwendungen zu isolieren. Nextcloud hat ein offizielles Docker-Image, auf das wir uns in diesem Artikel konzentrieren werden. Das Community-Linuxserver-Projekt stellt auch ein eigenes Image mit einigen vorkonfigurierten Standardeinstellungen bereit.

Planen des Setups

Das Nextcloud Docker-Image kommt mit einem funktionierenden Webserver einrichten. Sie erhalten Apache, PHP und eine vorkonfigurierte Nextcloud-Installation. Standardmäßig wird eine SQLite-Datenbank verwendet.

Während ein einfacher Docker run -d -p 80:80 nextcloud einen betriebsbereiten Server aufruft, beinhaltet dies keine Bereitstellung für persistenten Speicher. Der kritischste Aspekt der Dockerized Nextcloud-Bereitstellung ist die richtige Volume-Konfiguration, damit Sie Ihre Daten nicht verlieren.

Werbung

Außerdem ist die Standard-SQLite-Datenbank nur für den kleinen Einsatz geeignet . Wenn Sie mehr als eine Handvoll Benutzer haben, verbessert die Bereitstellung einer MySQL- oder PostgreSQL-Datenbank die Leistung.

Lassen Sie uns nun eine Dockerized Nextcloud-Installation erstellen, die auf MySQL läuft und Docker-Volumes verwendet, um Ihre Daten sicher beizubehalten. Wenn Sie lieber PostgreSQL verwenden möchten, ersetzen Sie die Verweise auf MySQL unten durch ihre PostgreSQL-Gegenstücke.

Erste Schritte

Sie können Nextcloud mit basic . bereitstellen Docker-CLI-Befehle. Dies wird jedoch schnell mühsam, ganz zu schweigen davon, dass man sich in Zukunft schwer merken kann. Stattdessen können Sie mit Docker Compose Ihre Konfiguration als Code definieren.

Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind. Erstellen Sie ein neues Verzeichnis für Ihre Nextcloud-Konfigurationsdateien. Fügen Sie eine docker-compose.yml-Datei hinzu und fügen Sie den folgenden Inhalt ein:

Version: "3" Dienste: nextcloud: Image: nextcloud:letzter Neustart: sofern nicht gestoppt Ports: – 80:80 Umgebung: – MYSQL_HOST=mysql – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud Volumes: – nextcloud:/var/www/html mysql : image: mysql:8.0 Neustart: sofern nicht gestoppt Umgebung: – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud – MYSQL_ROOT_PASSWORD=nextcloud Volumes: – mysql:/var/lib/mysql Volumes: mysql: this . nextcloud: Die Compose-Datei kapselt die gesamte Konfiguration für eine sichere Nextcloud-Installation. Es stellt eine MySQL-Datenbank bereit und konfiguriert Nextcloud, um sich damit zu verbinden. Sie sollten MYSQL_PASSWORD und MYSQL_ROOT_PASSWORD setzen, um benutzerdefinierte Werte zu sichern.

Das gesamte Verzeichnis /var/www/html wird als Docker-Volume gemountet. Nextcloud speichert hier seine Quelle, Einstellungen und Benutzerdaten. Wenn Sie das gesamte Verzeichnis in ein Volume verwandeln, funktioniert der Selbstaktualisierungsprogramm von Nextcloud ordnungsgemäß. Andernfalls müssten Sie ein neues Container-Image zum Aktualisieren ziehen, da der Self-Updater die Dateien von Nextcloud nicht dauerhaft ersetzen könnte.

Werbung

Der Nextcloud-Server bindet sich standardmäßig an Port 80 auf Ihrem Computer. Sie können einen anderen Port verwenden, z. B. 8080, indem Sie die Portkonfiguration aktualisieren:

– 8080:80

Jetzt können Sie Nextcloud mit Docker Compose bereitstellen:

docker-compose up -d

Warten Sie, während Compose die Bilder abruft und Ihre Container startet. Sie können dann auf Nextcloud zugreifen, indem Sie localhost in Ihrem Browser aufrufen.

Erste Ausführung

Wenn Sie Nextcloud zum ersten Mal besuchen, werden Sie& #8217;Der Standard-Setup-Assistent wird angezeigt. Geben Sie einen Benutzernamen und ein Passwort für Ihr erstes Benutzerkonto ein. Wenn Sie einige Kern-Apps installieren möchten, darunter Kalender, Kontakte und Nextcloud Talk-Anrufe, lassen Sie die “Empfohlene Apps installieren” Kontrollkästchen aktiviert.

Klicken Sie auf “Einrichtung abschließen” um den Installationsvorgang abzuschließen. Es kann einige Augenblicke dauern, bis Apps installiert sind. Schließen Sie Ihren Browser-Tab nicht, bis die Einrichtung abgeschlossen ist. Sobald Nextcloud bereit ist, wird Ihnen eine kurze Reihe von Folien für die ersten Schritte angezeigt. Sie werden dann zum Nextcloud-Dashboard weitergeleitet.

< p>Das Dashboard bietet Ihnen eine zentrale Ansicht Ihrer Cloud-Assets. Einzelne Apps können Inhalte auf dem Dashboard anzeigen. Über die Symbole in der oberen linken Ecke können Sie auf alle Ihre Apps zugreifen.

Um zusätzliche Apps zu installieren, klicken Sie auf Ihr Benutzerprofilsymbol in der oberen rechten Ecke. Wählen Sie “Apps” aus dem Menü. Klicken Sie auf eine der Kategorien in der linken Seitenleiste, um alle verfügbaren Apps anzuzeigen. Drücken Sie “Herunterladen und aktivieren” unter einer beliebigen App-Karte, um sie zu Ihrer Nextcloud-Instanz hinzuzufügen.

Werbung

Die Nextcloud-Admin-Einstellungen finden Sie, indem Sie auf Ihr Benutzerprofilsymbol klicken und & auswählen. #8220;Einstellungen” im Menü. Klicken Sie auf die Links unter “Administrator” in der linken Seitenleiste, um Verwaltungsfunktionen zu finden. Ihre Nextcloud-Version und verfügbare Updates werden in der “Übersicht” Seite.

Einige Verwaltungsaufgaben von Nextcloud werden über die occ-Befehlszeilen-Binärdatei aufgerufen. Dies ist ein PHP-Skript innerhalb der Nextcloud-Quelle. Sie können mit OCC mit docker-compose exec interagieren, ohne sich vollständig an den Container anzuhängen:

docker-compose exec –user www-data php occ occ-command-here

Es ist wichtig, die –user Flag, damit occ als derselbe Nutzer wie die Nextcloud-Weboberfläche ausgeführt wird. Andernfalls können Sie auf Dateisystembesitzer- und -berechtigungsfehler stoßen.

Konfiguration automatisieren

Viele der Admin-Einstellungen von Nextcloud können beim Starten des Containers voreingestellt werden. Neben der Datenbankeinrichtung unterstützt das Image Umgebungsvariablen, um ein Mailsystem zu konfigurieren, eine Verbindung zum Remote-Objektspeicher herzustellen und automatisch einen anfänglichen Administratorbenutzer zu erstellen. Wenn Sie diese Werte angeben, müssen Sie sie nicht dem Einrichtungsassistenten für die Erstausführung bereitstellen.

Als Alternative zu Umgebungsvariablen können Sie Docker-Secrets verwenden, um Werte sicherheitsbewusster festzulegen. Fügen Sie Ihre Werte zu Dateien hinzu und ordnen Sie sie mithilfe des geheimen Schlüssels in Compose dem Container zu. Aktualisieren Sie dann den Umgebungsabschnitt, um die injizierten geheimen Dateien zu lesen.

services: nextcloud: environment: – NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password secrets: nextcloud_admin_password: file: ./nextcloud_admin_password

Wenn Sie Geheimnisse verwenden, sollte jeder Nextcloud-Umgebungsvariable _FILE an den Namen angehängt werden. Dies weist Nextcloud an, den Wert aus dem referenzierten Dateipfad abzurufen.

Sicherheit

Das Standard-Docker-Image richtet SSL standardmäßig nicht ein. Es wird empfohlen, die Bereitstellung hinter einem SSL-terminierenden Reverse-Proxy wie Apache, Nginx oder Traefik durchzuführen. Dies sollte dann Anfragen an deinen Nextcloud-Container weiterleiten.

Werbung

Das Docker-Image funktioniert automatisch mit Anforderungen, die von den Adressräumen 10.0.0.8/72, 172.16.0.0/12 und 192.168.0.0/16 als Proxy weitergeleitet werden. Wenn Ihr Proxy-Server eine andere IP hat, sollten Sie diese bei der Bereitstellung von Nextcloud zur Umgebungsvariablen TRUSTED_PROXIES hinzufügen. Außerdem müssen Sie APACHE_DISABLE_REWRITE_IP=1 festlegen.

Diese Schritte stellen sicher, dass Nextcloud Rewrites richtig handhabt. Die Nutzungsanweisungen für das Docker-Image enthalten weitere Anleitungen zur Verwendung von Nextcloud mit einem Proxy. Sie können auf der Übersichtsseite im Admin Center überprüfen, ob Ihre Installation korrekt installiert ist.

Verwalten von Nextcloud-Updates

Wenn Sie Nextcloud mit der obigen Compose-Datei bereitgestellt haben, sollten Sie den Self-Updater im Admin Center verwenden können, um Nextcloud zu aktualisieren. Denken Sie daran, dass Sie dadurch nur die neueste Nextcloud-Quelle erhalten. Der zugrunde liegende Container bleibt gleich.

Es ist eine gute Idee, regelmäßig ein neues Docker-Image zu ziehen. Dies hilft Ihnen, veraltete Betriebssystempakete zu vermeiden, die ein Sicherheitsrisiko darstellen könnten.

Wenn Sie Docker Compose verwenden, können Sie docker-compose up mit dem Flag –pull erneut ausführen. Compose zieht automatisch das neue Image und ersetzt bei Bedarf Ihren aktuellen Container.

docker-compose up -d –pull

Schlussfolgerung

Das Betreiben eines Nextcloud-Servers gibt Ihnen volle Kontrolle über Ihre Dateien. Neben der einfachen Dateifreigabe bietet Nextcloud auch ein vollständiges Ökosystem von Produktivitäts-Apps. Sie finden E-Mail-, Kalender-, Notizen- und Aufgabensysteme sowie eine vollständige Lösung für Sprach- und Videoanrufe.

Werbung

Die Bereitstellung von Nextcloud mit Docker vereinfacht das Einrichtungsverfahren und vermeidet die Verschmutzung Ihrer Host mit einem Bare-Metal-LAMP-Stack. Sobald Nextcloud installiert ist, können Sie sich von jedem der unterstützten Desktop- und mobilen Synchronisierungsclients aus verbinden.

Wir haben nur die Grundlagen der Inbetriebnahme eines Nextcloud-Servers behandelt. Wenn Sie mehr über die Installation von Apps und die Wartung Ihrer Installation erfahren möchten, bietet das Nextcloud-Administrationshandbuch umfassende Anweisungen.