Voraussichtliche Lesedauer: 21 Minuten

NextCloudPi (NCP) hat mir nach einem Jahr mit meinem Raspberry Pi 3 (RPI3) und viel Stress rund um das Thema Homecloud das Leben vereinfacht. Ich habe ich mich nun dazu entschieden einen Schritt weiter zu gehen und leistungsstärker zu werden. Im folgenden Abschnitt erzähle ich kurz von meinen Erfahrungen mit dem RPI3.

Ich habe mir den RPI3 mit dem Ziel gekauft einen besseren MediaPlayer als bspw. Kodi auf dem FireTV zu haben, der damals in seiner ersten Ausführung sehr langsam war. Lange Rede, kurzer Sinn: probiert und lange benutzt, aber die neuen FireTV Sticks waren einfach stärker. Dann habe ich herausgefunden, dass man seine eigene Cloud mit dem Gerät erstellen kann und wurde hellhörig. Erste Versuche habe ich mit OwnCloud gestartet, bis ich dann mitbekommen habe, dass hier vieles kostenpflichtig ist und NextCloud die bessere Alternative ist und dort auch der ursprüngliche Mitgründer von OwnCloud hin abgewandert ist.

Die Installation und Instandhaltung von NextCloud auf Raspbian war jedoch mit einem solch großen Aufwand verbunden, dass es nicht mehr schön war und mit PHP-Konfigurationen oder Memory-Caches keinesfalls anfängerfreundlich. Mit jedem Update neue Anforderungen und Bugs und gerade für einen Linux Newbie wie mich eine Qual. So bin ich durch Foren auf das Projekt NextCloudPi von NachoParker gestoßen. Dieses bietet einem alles, was NextCloud auch bietet, nur um weiten einfacher und besser.

Hauptvorteil ist das Web Interface mit leicht konfigurierbaren Funktionen wie Let’s Encrypt für ein stets funktionierendes SSL-Zertifikat oder automatischen Backups.

NextCloudPi WebPanel
NextCloudPi WebPanel

Warum der ODROID N2?

Der ODROID N2 ist aktuell (Juni 2020) immernoch einer der stärksten SBC’s (Single Board Computer) und im Preis-Leistungs-Verhältnis relativ gut. Ich habe das Gerät für umgerechnet 115 Euro mit 4GB RAM direkt beim Hersteller gekauft. Dabei enthalten: Netzteil, passendes Gehäuse und ein 16GB eMMC Modul. eMMC Module sind erfahrungsgemäß deutlich stabiler als microSD Karten und auch wesentlich schneller. 8GB sind eine Mindestvoraussetzung für das Vorhaben. Der Leistungsunterschied zwischen RPI3 und bspw. dem ODROID N2 ist erheblich. Wer noch mehr Geld ausgeben möchte kann auch zu einem ODROID H2 greifen, da dieser bis auf 32GB RAM aufgestockt werden kann. Der N2 enthält einen passiven Kühler und verursacht damit keine lauten Geräusche beziehungsweise überhaupt keine Geräusche.

Nach der Meinung von NCP Entwickler NachoParker gibt es keinen technischen Grund bei einem RPI3 zu bleiben. Der RPI3 erfreut sich einer großen Community und großer Bekanntheit und wird deshalb oft verwendet und auch von ihm unterstützt, aber in seinen Worten: HW is
worse, SW is worse…

Der größte Nachteil aller Raspberry Pi’s ist, dass sie kein Gigabit LAN unterstützen und am selben Controller hängen, wie die USB-Ports, womit Datentransfers oftmals sehr ausgebremst werden. Hierbei ist aber noch darauf hinzuweisen, dass der ODROID N2 dafür kein eingebautes WLAN oder Bluetooth Modul besitzt und bei Bedarf per USB nachgerüstet werden muss, auch wenn ich gerade beim WLAN für eine Cloud stark davon abrate.

ODROID N2
ODROID N2 (Quelle: Hardkernel (21.06.2020))

Das NAS-System

Hier liegt es viel an persönlichen Präferenzen, was genau ihr machen möchtet und auch an eurem verfügbaren Budget. So ist es möglich sich eine RAID-System mit mehreren HDD’s aufzubauen, aber genauso nur eine SSD an den Einplatinencomputer zu hängen. Dies ist davon abhängig, wofür die Cloud und auch in welchem Ausmaß sie genutzt werden soll.

Grundsätzlich sind euch da wenig Grenzen gesetzt. Wenn ihr das Geld habt, ist die idealste Besetzung wohl die Daten zwar auf einer SSD zu speichern und damit superschnellen Zugriff zu haben, diese aber auf einer HDD zu speichern, um die Sicherung gewährleisten zu können. Ich habe mich schlussendlich für eine zukunftssichere Variante, bestehend aus einem RAID-Gehäuse und zwei 4 TByte NAS HDD, entschieden.

Der hohe Preis, der sich bei mir ergeben hat, liegt an der Sicherheit, die ich durch RAID 1 gewährleistet haben wollte. Wer Genaueres über RAID wissen möchte, sollte sich den Artikel „RAID im Überblick“ anschauen.
Es ist nicht notwendig sich zwei Festplatten zu kaufen, je nach Verwendungszweck tut es auch eine Festplatte oder sogar eine SSD und verringert damit auch den Einkaufspreis.

RAID Gehäuse
IcyBox RAID-Gehäuse
IcyBox RAID-Gehäuse Anschlüsse

Installation

Allgemein gibt es derzeit beim ODROID N2 nur die Docker-Variante für NextCloudPi (jedenfalls ist mir nichts anderes bewusst). Armbian wird derzeit nicht offiziell unterstützt. Der große Vorteil an Docker ist, dass im Fall eines Geräteresets, eines korrupten System oder sonstigen Problemen mit der Dockerinstallation, alle Dateien und Datenbanken inkl. aller Nutzer mit ihren Einstellungen von NextCloudPi auf der Festplatte gespeichert sind. So können auch die Systeme nahtlos getauscht werden und funktionieren direkt wieder nach der Installation des Dockerimages und Anschluss der dementsprechenden Festplatte/n.

Setzt zu erst die eMMC auf die Platine. Achtet darauf, dass der Schalter nach rechts ausgerichtet ist. Als nächstes müssen wir den N2 einmal an den Strom anschließen und warten bis er sich selbst erstmals konfiguriert. Danach muss er einmal vom Strom genommen werden und dann wieder angeschlossen werden. Das RAID-System könnt ihr nun via USB an den N2 anschließen. Den N2 erreicht ihr zur Konfiguration am einfachsten mit dem Programm PuTTY, mit welchem ihr das Gerät über SSH erreichen könnt. Dazu müsst ihr die IP-Adresse des Geräts herausfinden und diese im Programm eingeben. Herausfinden könnt ihr diese oftmals über das Webinterface eures Routers wie bspw. einer FritzBox. Loggt euch mit folgenden Standarddaten ein:

Nutzer: root
Passwort: odroid

Bevor wir richtig loslegen können müssen wir erst einmal die benötigten Ports in unserem Router freigeben. Bei der FritzBox geschieht das unter dem Reiter Internet -> Freigaben -> Portfreigaben und dann Klick auf den Button „Gerät für Freigaben hinzufügen“. Die Ports sind 80, 443 und 4443. Wählt das richtige Gerät aus, also vergewissert euch, dass es der N2 ist! Bei
der FritzBox ist die Freigabe möglich mit der Bezeichnung HTTP-Server, HTTPS-Server und dann einer manuell erstellten Freigabe mit Port 4443.

Linux Systemupdates

Der erste Schritt der auf jeden Fall getan werden sollte, ist das Updaten des Linux OS, welches in meinem Fall Ubuntu ist. Führt die folgenden Befehle in dieser Reihenfolge aus.

sudo apt upgrade
sudo apt full-upgrade
sudo reboot

Docker Installation

Da wir NextCloudPi in einen Docker Container installieren wollen benötigen wir zu aller erst Docker selbst. Es sei hierbei erwähnt, dass BTRFS mit Docker kaum oder nur sehr schwer möglich ist, also bspw. die Nutzung der Snapshot Funktion. Dazu sind folgende Befehle nötig.

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Mounten des RAID-Systems

Nach dem Installationsskript von Docker machen wir uns an die Zugriffs- / Schreibrechte für unser RAID-System. Bevor wir das tun können, müssen wir dem RAID-System erstmal ein Filesystem geben. Mit dem fdisk Befehl findet ihr heraus wie das System heißt. In meinem Fall /dev/sda. Ersetzt dies jeweils mit dem Ort, der euch angezeigt wird. Nun mounten wir das System an einen beliebigen Ort auf unserem N2. In meinem Fall einfach den Ordner storage mit Unterordner data, falls noch andere Projekte Daten auf dem System ablegen sollen.

fdisk -l
mkfs.ext4 /dev/sda
mkdir /media/storage
mkdir /media/storage/data
mount /dev/sda /media/storage
chmod +x /media/storage/data

Da nun die Festplatte gemounted ist müssen wir aber auch dafür sorgen, dass dies bei jedem Neustart auch so bleibt und wir nicht immer wieder manuell per Kommandozeile mounten müssen. Mit blkid werden alle /dev Geräte erneut aufgelistet. Notiert euch hierbei die UUID. Ergänzt im Editor um eine neue Zeile, die aus dem dritten Befehl hervorgeht und achtet darauf, dass die letzte Zeile eine Leerzeile ist! Die UUID bitte mit eurer eigenen ersetzen. Eine ausführlichere Erklärung findet ihr hier: WikiUbuntu – fstab

sudo blkid
sudo nano /etc/fstab
UUID=bbf85ecb-cc61-40ed-ba7b-d7b804ee845e /media/storage ext4 defaults 0 2

NextCloudPi Installation & Start

Kommen wir nun zur eigentlichen Installation von NextCloudPi mit dem folgenden Befehl. Bitte ändert die IP zu der IP, die euer N2 vom Router vergeben bekommen hat! Es ist dieselbe, über die ihr euch auch über SSH eingeloggt habt und somit über den Router herauszufinden. Fahrt erst mit den weiteren Schritten fort nachdem ihr „Init Done“ in der Konsole seht. Aus den Logs kommt ihr mit der Tastenkombination Strg + C heraus.

IP=192.168.178.47
docker run --restart=always -d -p 4443:4443 -p 443:443 -p 80:80 -v /media/storage/data:/data --name nextcloudpi ownyourbits/nextcloudpi-armhf $IP
docker logs -f nextcloudpi

Anschließend habt ihr es fast geschafft! Ruft nun eure Cloud im Browser auf:
https://<ip_oder_domain> (die IP des N2)
Notiert euch die angezeigten Daten für Webpanel und Login. Wechselt daraufhin in das Webpanel, um erste Einstellungen vorzunehmen.
https://:<ip_oder_domain>4443 (die IP des N2)

Cloud veröffentlichen

Um eure Instanz von NextCloudPi aber nun auch dem Internet zugänglich zu machen, bedarf es einem DDNS Anbieter und Let’s Encrypt. Aber der Reihe nach. Je nachdem, ob ihr wirklich nur ncp als User für Administration haben möchtet, sollte ihr euch eventuell einmalig in den Account einloggen und ansonsten einen neuen Account für euch mit Administratorrechten einrichten. Zurück im Webpanel (:4443) gehen wir unter dem Reiter Networking auf den von uns ausgewählten DDNS Anbieter. Ich persönlich habe mich für spDYN entschieden. Ihr erhaltet hierbei eure selbstgewählte Domain und euren Token, den ihr dir eingebt und schon ist die Sache erledigt. Für ein funktionierendes SSL-Zertifikat geht ihr anschließend im selben Reiter auf letsencrypt. Hierbei dieselbe Domain, eure E-Mail und den zu informierenden Admin in der Cloud selbst eingeben, fertig!

Damit das nun aber auch funktioniert muss dafür im Router ebenfalls die DynDNS Funktion aktiviert werden. Ich erkläre es wieder am Beispiel der FritzBox. Unter dem Reiter Internet -> Freigaben -> DynDNS. Hierbei je nach gewähltem DynDNS-Anbieter dementsprechend auswählen oder selbst anlegen. Bei spDYN muss man diesen selbst anlegen. Folgende Daten eingeben:

Update-URL: https://update.spdyn.de/nic/update?hostname=&myip=<ipaddr>
Domainname: eure selbstgewählte Domain, die ihr auch im Webpanel angegeben habt
Benutzername: eure E-Mail
Kennwort: euer Passwort

Ihr habt es geschafft! Alles fertig eingerichtet. Nun könnt ihr beliebig Einstellungen im Webpanel treffen und Apps installieren wie ihr fröhlich seid. NextCloudPi wird euch einen echten Mehrwert bieten! Die Leistung bzw. die Geschwindigkeit ist unvergleichbar mit einem RPI3.

  • ODROID-N2 mit 4GByte RAM, Netzteil, Gehäuse & 16GB eMMC Modul Linux für 115 €
  • ICY BOX IB-RD3662-C31 RAID-Gehäuse für 2X 3,5 Zoll SATA Festplatten für 95 €
  • 2x Western Digital WD Red 4TByte (3,5 Zoll) für 107 € pro Stück = 214 €

insgesamt 424 € für das aufgelistete Setup an meinem Kaufdatum vor ca. einem Jahr


Fazit

Mit diesem Setup fährt man aktuell sehr gut. Ich selbst habe mindestens 15 Docker-Container durchgehend aktiv und sowohl Auslastung als auch Ladezeiten sind gut. Wenn ihr nicht sicher seid, ob das nicht etwas zu viel für den Anfang ist, dann startet mit RaspberryPi 4 und einer externen Festplatte oder auch einem USB-Stick, um die Möglichkeiten von NextCloud kennenzulernen.


0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

de_DE