Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 5 Min.

Gut verpackt


LinuxUser - epaper ⋅ Ausgabe 9/2021 vom 19.08.2021

Nextcloud mit Docker

Artikelbild für den Artikel "Gut verpackt" aus der Ausgabe 9/2021 von LinuxUser. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: LinuxUser, Ausgabe 9/2021

README

Docker und Docker-Compose erlauben das schnelle Ausrollen von Diensten in Containern. Das Herzstück der Lösung bildet eine Compose-Datei im YAML-Format.

Nextcloud ist eine der beliebtesten Anwendungen, wenn es um die Cloud unter eigener Kontrolle geht. Sie lässt sich auf vielfältige Art und Weise installieren. Da viele Anwender das Thema Container immer noch scheuen, weil sie glauben, es setzte vertiefte Kenntnisse voraus, wollen wir in diesem Artikel versuchen, mit einigen Irrtümern aufzuräumen. Damit keine Missverständnisse aufkommen: Container-Umgebungen können durchaus sehr komplex ausfallen, sie sind es aber nicht notwendigerweise.

Wir stellen im Folgenden eine einsatzbereite Nextcloud in rund 30 Minuten mit Docker bereit. Die Zeit zum Ausrollen der Container verringert sich auf die Hälfte, wenn Sie es zum wiederholten Mal machen. Wir nutzen als Basis ein frisch ...

Weiterlesen
epaper-Einzelheft 5,99€
NEWS 30 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von LinuxUser. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 9/2021 von Shoot the messenger. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Shoot the messenger
Titelbild der Ausgabe 9/2021 von Volltreffer?. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Volltreffer?
Titelbild der Ausgabe 9/2021 von Runderneuert. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Runderneuert
Titelbild der Ausgabe 9/2021 von Fernspäher Mit. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Fernspäher Mit
Titelbild der Ausgabe 9/2021 von Diagnostiker. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Diagnostiker
Titelbild der Ausgabe 9/2021 von Wolkenbruch. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Wolkenbruch
Vorheriger Artikel
Wolkenbruch
aus dieser Ausgabe
Nächster Artikel Freie Tulpe
aus dieser Ausgabe

... aufgesetztes Ubuntu 20.04 LTS.

Die im Folgenden vorgestellte schnelle Art des Aufsetzens eignet sich nur für das heimische Netzwerk, denn das Ergebnis verfügt über kein Zertifikat für HTTPS und ist auch sonst nicht gehärtet. Diese Absicherungen lassen sich aber bei Bedarf auch bei der fertiggestellten Nextcloud nachrüsten. Dazu verwenden Sie am besten einen Reverse Proxy, wie ihn die Nextcloud-Dokumentation beschreibt . Wir verwenden MariaDB anstelle des standardmäßig angebotenen SQLite als Datenbank.

Listing 1: Docker einrichten

Warum Docker?

Docker hat sowohl Vorzüge als auch Nachteile. Zu den Vorteilen zählen die Flexibilität und Skalierbarkeit sowie das Schonen von Ressourcen, denn das Container-Image teilt sich Ressourcen wie den Kernel mit dem Gastsystem. Container lassen sich zudem sehr schnell bereitstellen: Die Erstellung läuft über in verschiedenen Registries bereitstehende Images, die in wenigen Sekunden einsatzbereit sind.

Man hört im Profi-Umfeld immer wieder von Sicherheitsbedenken gegenüber Docker, die aber in unserem Szenario keine Rolle spielen. Zudem wird kritisiert, dass Docker ständig als Daemon läuft und Root-Rechte benötigt. Mit den beiden letzten Punkten räumt das bei Fedora entwickelte Podman auf , das aufgrund seiner noch frühen Entwicklungsstufe allerdings derzeit komplexer in der Handhabung ist. Podman lässt sich allerdings leicht in Systemd integrieren.

Aber zurück zu Nextcloud in Docker- Containern. Wir erleichtern uns die Arbeit, indem wir zusätzlich Docker-Compose verwenden . Wir erstellen dafür eine YAML-Datei, die unsere Container sowie die darin laufenden Dienste definiert sowie festlegt, wie Letztere mit dem Gast interagieren. Anschließend können wir das Gesamtkonstrukt mit nur einem Befehl abarbeiten.

Installation

Fangen wir mit den Grundvoraussetzungen an. Zunächst gilt es, die benötigten Docker-Komponenten zu installieren (Listing 1, erste Zeile). Das spült rund 80 MByte Daten auf die Festplatte, wovon der Großteil dem üppigen Docker-Compose geschuldet ist.

Als Nächstes setzten wir eine Struktur auf, in der sich Nextcloud und unsere künftigen Daten verteilen. Dazu legen wir zunächst die zwei Ordner /docker/nextcloud/ und nextcloud‐data/ an (Zeilen 2 und 3).

Das Data-Verzeichnis dient später dazu, unsere Daten in einem von der Nextcloud getrennten Verzeichnis zu speichern. Dieses von Nextcloud empfohlene Verhalten dient der Sicherheit und ermöglicht zudem Flexibilität, indem Sie Daten von anderen Geräten einbinden, wie etwa einem NAS oder einem Raspberry Pi.

Konfiguration

Damit steht das Gerüst; jetzt folgt die bereits erwähnte YAML-Datei. Im Netz finden Sie verschiedene Vorlagen für unterschiedliche Zwecke. Wir haben uns in einem Blog-Beitrag von Admin-Intelligence bedient, der eine aktualisierte Version der Datei aus der Nextcloud-Dokumentation liefert .

Zunächst wechseln Sie in das soeben erstellte Verzeichnis /docker/nextcloud/ und erstellen dort die benötigte Datei docker‐compose.yml (Zeilen 4 und 5). Dann kopieren Sie den Inhalt aus Listing 2 in die Datei. In den Zeilen 16 und 17 der YAML-Datei tragen Sie hinter dem Gleichheitszeichen die noch fehlenden MySQL-Passworte für User und Root ein 1 1 . Wir haben in unserem Beispiel für beide nextcloud verwendet, Sie sollten aber individuelle Passwörter benutzen.

Achten Sie darauf, sonst nichts an der Datei oder deren Struktur zu ändern: YAML reagiert empfindlich, wenn man die Vorgaben der Syntax nicht einhält. So darf man beispielsweise keine Tabulatoren benutzen, sondern nur Leerzeichen.

Steht die YAML-Datei, fehlen nur noch zwei Docker-Compose-Befehle, bevor Sie Ihre Nextcloud im Browser fertig einrichten können (Listing 1, Zeilen 7 und 8). Das Unterkommando pull setzt die eben erstellte Docker-Compose-Datei um, up startet die Container. Auch das spätere Aktualisieren auf eine neue Nextcloud- Version gelingt über diese beiden Befehle.

YAML: Yet another Markup Language. Auszeichnungssprache zur Datenserialisierung, die davon ausgeht, dass sich jede beliebige Datenstruktur nur mit Listen und Einzelwerten darstellen lässt.

Dateien zum Artikel herunterladen unter

www.linux-user.de/dl/46567

1 In die vorgefertigte Compose-Datei tragen Sie lediglich noch zwei Passwörter ein (hier der Einfachheit halber zwei Mal nextcloud). Der Container- Name muss unverändert bleiben.

Wenn Sie jetzt den Befehl sudo docker ps absetzen, sehen Sie zwei Container mit den Namen nextcloud und nextcloud‐db 2 . Sie enthalten die Docker- Images nextcloud und mysql.

Wenn alles passt, erreichen Sie Ihre Nextcloud nun im Webbrowser unter der URL localhost:8080. Die Maske, die Sie sehen, verlangt das Anlegen eines Administrators samt Passwort, die Sie beide frei wählen. Zudem sehen Sie eine Warnung, dass die Leistung des standardmäßig genutzten Datenbanksystems SQLite für manche Aufgaben zu schwach sei 3 .

2 Haben Sie die Compose-Datei gespeichert, erfordert es nur zwei Befehle und eine Minute Zeit, um die Nextcloud bereitzustellen.

Sind Sie trotzdem mit SQLite zufrieden, betätigen Sie die Schaltfläche Installation abschließen, und Nextcloud wird betriebsbereit gemacht. Sie können auch später noch von SQLite zu MySQL wechseln .

MariaDB einbinden

Da wir aber MariaDB bereits containerisiert haben, wollen wir es auch nutzen. Dazu klicken Sie auf die Zeile Speicher und Datenbank und dort in der Mitte auf MySQL/Mariadb, woraufhin sich die entsprechenden Einstellungen öffnen 4 . Hier tragen Sie, sofern Sie unserem Beispiel gefolgt sind, von oben nach unten drei Mal nextcloud ein und im vierten Feld nextcloud‐db.

Haben Sie individuelle Passwörter vergeben, so geben Sie Ihr Root-Passwort an. Ein Klick auf Installation abschließen erledigt den Rest, und Sie finden sich umgehend in Ihrer aktuellen Nextcloud 22 wieder 5

Kein Hexenwerk

Mit dem hier vorgestellten Grundrezept, eine neue Compose-Datei zu erstellen oder eine bestehende zu editieren, lassen sich viele Anwendungen und Dienste schnell in Container packen, die man über eine Weboberfläche bedient. Die Magie steckt in der erstellten Datei, die definiert, welche Anwendungen sich wie zueinander verhalten und worauf sie Zugriff haben.

Das ist kein Hexenwerk, setzt aber ein wenig Einarbeitung voraus . Die lohnt sich in jedem Fall, wenn man vorhat, Container zu nutzen. Docker-Compose ist dabei nicht auf Docker beschränkt, sondern arbeitet auch mit Podman zusammen, das wir zu einem späteren Zeitpunkt genauer unter die Lupe nehmen.

Fazit

Schneller als mit der hier vorgestellten Methode bekommt man kaum eine Nextcloud auf den heimischen Rechner, sei es auf ein ausgedientes Notebook oder auf einen Raspberry Pi. So lange Sie diese Nextcloud nicht ins Internet lassen, können Sie damit Ihre Daten im Heimnetz synchronisieren und die Cloud als Backup nutzen. Soll die Cloud von außen erreichbar sein, müssen Sie das Konzept erweitern und einen Reverse-Proxy-Server wie etwa Traefik oder Nginx Reverse- Proxy integrieren.■

(jlu)

Weitere Infos und interessante Links

www.linux-user.de/qr/46567

3 Wenn SQLite als Datenbank ausreicht, müssen Sie nur noch ein Administratorkonto mit Passwort anlegen, um die Einrichtung der Nextcloud zu starten.

4 Ein Klick auf Speicher und Datenbank öffnet die Auswahl der Datenbank. Hier tragen Sie die Passwörter und Bezeichner aus der Compose-Datei ein und klicken auf Installation abschließen.

5 Haben Sie die Felder aus Abbildung 4 richtig ausgefüllt, öffnet sich nach wenigen Augenblicken die seit einigen Versionen bei Nextcloud vorgeschaltete Einstiegsseite.