Eigene High-Performance-Cloud für 261€


Ich habe in den letzten Wochen viel Zeit damit verbracht, unterschiedliche NAS-Konfigurationen zu testen. Kurzgefasst: Es lohnt sich nicht, eine NAS von QNAP oder Synology zu kaufen. Von meinen WD-Ausflügen will ich schon gar nicht mehr erzählen. Für alle diese Kaufsysteme gilt: Die Performance ist unterirdisch, die Sicherheit bedenklich, und überteuert sind diese Systeme auch. Die in diesem Artikel beschriebene Open Source-Lösung kann für sehr viel weniger Geld mehr Sicherheit und Geschwindigkeit bringen. Warum überhaupt eine eigene Cloud, das erklärt dieser Artikel sehr gut.

nextcloudPi

nextcloudPi ist ein wunderbares Projekt, das eine einfache Installation von nextcloud auf einem Single Board Computer ermöglicht, inklusive Memory-Cache (Redis) und SSL-Zertifikat. Single Board Computer sind kleine Mini-Computer wie der Raspberry Pi, die ab 30€ kosten und dennoch beachtliche Dinge leisten können. Die Installation von nextcloudPi ist wie gesagt einfach, aber noch nicht auf dem Stand, den ein DAU unfallfrei hinbekommen würde. Man kann schon ohne Kommandozeile das ganze System installieren und konfigurieren. Nur manche Begriffe wie dnsmasq sind eben nicht selbsterklärend. Vergleicht man diese Installationsroutine aber mit den Installationsanweisungen von Seafile, dann ist nextcloudPi ein Musterbeispiel dafür, wie man aus etwas Kompliziertem etwas Einfaches machen kann. Seafile ist ein kryptisches Monster, was die Installation betrifft, und das schreibe ich als Informatiker.

An nextcloud gefällt mir, dass anders als bei owncloud kein Geld für die Mobile App verlangt wird und das System irgendwie moderner, flüssiger wirkt. Die App ermöglicht auch, dass Fotos von meinem Handy direkt in meiner Cloud landen und nicht bei Google & Co. Ein Selbstläufer ist es aber in der Regel nicht, da eine bestimmte PHP-Konfiguration benötigt wird, und so einen Memory-Cache installiert man halt auch nicht jeden Tag. All das übernimmt die Installations-Routine von nextcloudPi. Entwickelt wird das von nachoparker:

 

Odroid XU4 anstatt Raspberry Pi

Der Raspberry Pi hatte sich überraschenderweise sehr gut geschlagen mit der nextcloud-Installation, besser als nextcloud auf der synology oder auf der QNAP. Der Raspberry 3 B+ hat nur einen großen Nachteil, USB (wo die Festplatte dran hängt) und Ethernet hängen am gleichen Bus, und da der Raspberry eh nur mit 100 MBit-Ethernet ausgestattet ist, wird das Schreiben und Lesen nicht gerade schneller, wenn die Festplatte da auch noch dran hängt. 1 GB Arbeitsspeicher ist auch nicht besonders viel.

Nach viel Recherche fiel meine Wahl auf den Odroid XU4 mit 2 GB RAM und 8 (!) Kernen, nachdem ich lange mit dem RockPro64 geliebäugelt hatte (4 GB RAM!). Der XU4 kostet um die 100€, mit Netzteil, Flashspeicher etc zahlt man etwas mehr als 120€. Bei dem RockPro64 gab es zu viele Foreneinträge, welches Betriebssystem welche Probleme macht.

Die Einkaufsliste

Wahrscheinlich kann man die Komponenten irgendwo günstiger kaufen, aber da es bei mir schnell gehen musste, habe ich die folgenden Komponenten genommen:

  • Odroid XU4-Set mit 16 GB eMMC-Modul, Adapter, Case und Netzteil für 123€ (Affiliate-Link)
  • SSD zu USB 3-Adapter für 9€ (Affiliate-Link)
  • SanDisk SSD 1 TB für 129€ (Affiliate-Link); natürlich kann man auch eine bestehende Festplatte nehmen, dann bitte den passenden Adapter besorgen
  • Benötigt wird außerdem ein dynamischer DNS-Dienst, der bei wechselnder eigener IP-Adresse zuhause die Erreichbarkeit von außen unter der gleichen Subdomain ermöglicht; ich habe gute Erfahrungen mit no-ip.com gemacht.

In dem Odroid-Paket ist bereits ein MicroSD-Adapter für die eMMC-Karte enthalten, es wird dann noch ein Adapter für die MicroSD-Karte benötigt, um die eMMC-Karte flashen zu können. Den habe ich nicht in meiner Kostenübersicht einbezogen. Eine eMMC-Karte ist ein extrem schneller Speicher, Fingernagel-groß, der direkt auf den Single Board Computer gesteckt wird.

Die Installation

Zunächst muss das passende System von der nextcloudPi-Seite heruntergeladen werden. Ich wollte Armbian nehmen, da damit schließlich auch andere Sachen möglich gewesen wären, aber damit habe ich die SSD nicht am USB 3.0-Anschluss zum Laufen bekommen. Mit dem Image für das Odroid-Board war das kein Problem. Mit Etcher wird dieses Image dann auf die eMMC geflasht, das dauert ca. 5 Minuten. Und dann kann man die eMMC-Karte auf den Odroid stecken, Ethernet anschließen, den Strom einstöpseln und den kleinen Computer booten. Ich hatte auf das Anschließen eines Monitors verzichtet und einfach im Netz geschaut, welche IP-Adresse der Rechner bekommt. Übrigens keine so schlaue Idee von mir, denn irgendwann will man schon noch per SSH auf den Rechner zugreifen können.

Mit https://:4443/wizard kommt man auf die Installations-Oberfläche, die durch die Installation führt. Irgendwann wird man aufgefordert, sein USB-Laufwerk einzustöpseln, das dann automatisch gemountet und optional auch formatiert wird. Insgesamt ist man nach maximal 30 Minuten fertig, inklusive Auspacken und Zusammenstöpseln.

Die Geschwindigkeit ist der Hammer. Egal ob zuhause im Netzwerk oder draußen, das Ding ist schnell, gefühlt sogar schneller als Dropbox oder Google Drive. Aber was noch wichtiger ist, ich habe meine Daten zuhause (natürlich muss ich dann noch irgendwas aufsetzen, damit ich irgendwo ein verschlüsseltes Backup meiner privaten Cloud in der Cloud habe). Man kann sich natürlich fragen, ob Dropbox oder Google Drive dann nicht doch viel günstiger sind, wenn sie nur 10€ pro Monat für ein TeraByte kosten. Ich brauche mehr als 2 Jahre, um die Kosten reinzuholen. Aber, noch mal, ich habe meine Daten jetzt zuhause und nicht irgendwo. Und schneller ist es halt auch.

Die Konfiguration

Noch ein paar Worte zur Konfiguration. Natürlich aktiviert man 2-Faktor-Autorisierung. Außerdem würde ich dringend dazu raten, im nextcloudPi-Konfigurationspanel dnsmasq zu aktivieren und den DNS-Server des eigenen Rechners auf die IP des Odroid einzustellen. Dadurch können in den Logdateien die einzelnen Rechner im Netzwerk voneinander unterschieden werden.

Als Nutzer legt man für sich selbst einen Standard-Nutzer an, der nicht Admin ist.

Ich habe die Festplatte nicht verschlüsselt. Verschlüsselung drückt die Perfomance und benötigt auch mehr Plattenplatz, aber ich habe mir vor allem darum Sorgen gemacht, dass ich die Schlüssel verliere. Vielleicht hole ich das aber auch irgendwann noch mal nach. Nur geht das dann nur mit neuen Dateien, nicht mit einem bestehenden Set.

Übrigens, auch wenn die Zugangs-URL eine Domain ist, wird im eigenen Heimnetzwerk auch nur lokal kommuniziert. Es wird also nicht der Umweg über das Internet gegangen, auch wenn das vielleicht so aussieht.

Kommentare (seit Februar 2020 ist die Kommentarfunktion von meinem Blog entfernt):

Sascha says

  1. Juli 2019 at 04:48 Klingt mega interessant, da mein RaspberryPi 3 echt suboptimal ist… hast du mal den Odroid N2 ausprobiert oder meinst du generell der lohnt sich? Wie genau muss ich das installieren? Also Armbian konntest du nicht nehmen, weil die SSD dann nicht geht? Lag es speziell an der SSD oder wird das allgemein so sein? Ich bin kein Profi und finde keine Anleitung. Welches Image genau von wo muss nun geflasht werden? https://ownyourbits.com/nextcloudpi/#download ich weiß, dass hier alles erhältlich ist und würde eigentlich gerne Docker benutzen und wenn das geht dazu PiHole eben. Das scheint generell alles etwas komplizierter zu sein als beim RaspberryPi. Ich wüsste nicht mal gerade wie man SSH einschaltet. Aber ist ja alles eine einmalige Sache. Kannst du mir da Auskunft geben? Vielen Dank und lieben Gruß!

Tom Alby says

  1. Juli 2019 at 12:09 Soweit ich das sehen kann wird der N2 noch nicht unterstützt. Vielleicht gehst Du mal in die Telegram-Gruppe des Entwicklers und fragst dort nach. Im Prinzip wäre der neue Raspberry 4 ja auch ein guter Kandidat mit seinen 4 GB RAM. Aber auch da sehe ich noch keine Unterstützung.

Ich habe nicht genug Zeit mit der Fehlersuche des USB-Ports und der SSD verbracht. Meine Erfahrung ist, dass man mit sowas unglaublich viel Zeit verbraten kann, und genau das wollte ich eben nicht mehr tun. Flashen tust Du normalerweise ein Image auf eine SD-Karte o.ä., von der Du booten willst. Wegen Docker: https://hub.docker.com/r/ownyourbits/nextcloudpi-armhf

Sascha says

  1. Juli 2019 at 17:33 Hey Tom, danke dir für deine Antwort. Ich befinde mich bereits in der Telegram Gruppe zu NextCloudPi. Habe mir jetzt den N2 bestellt. Das Problem bei dem Gerät ist, das kein offizielles Armbian existiert (jedenfalls momentan) und man NCP nur über Docker installieren kann und damit auf das BTRFS Feature verzichten muss. Für den Raspberry Pi 4 existiert seit gestern ein Image. Ich werde nun eine eMMC mit vorgefertigtem Linux erhalten und muss doch deshalb wahrscheinlich gar nichts flashen oder sehe ich das falsch? Nach dem NCP Entwickler gibt es keinen logischen Grund an einem Raspberry Pi festzuhalten, da er eben in allen Ebenen unterlegen ist. Meinst du denn, dass es sinnvoll ist eine SSD somit quasi als NAS zu nutzen? Habe gerade meine Zweifel daran. Klar ist der Speed super, aber nicht dass die Daten von heut‘ auf morgen weg sind. Naja mal schauen dann. Denke aber der N2 wird gut laufen.

Tom Alby says

  1. Juli 2019 at 11:43 Egal ob SSD oder HDD, eine Platte kann immer kaputt gehen. Entweder RAID oder täglich Snapshots woanders sichern. Ich gehe sogar so weit, dass ich verschlüsselte Snapshots in der Cloud sicher.

Lutz says

  1. August 2019 at 15:48 Hallo Herr Alby, danke für die Publikation Ihrer Erfahrungen und sicherlich haben Sie sehr profundes IT-Wissen, jedenfalls mehr als ich. Dennoch: ich denke (bis jetzt) dass, wenn man die Capex nicht als limitierenden Faktor alleine setzt, gibt es vermutlich auch leistungsfähige NAS bei z.B. Synology. Laut deren White-Papers (habe ich nch nicht proboert, da ich dafür sicher mehr Zeit investieren muss als Sie) müsste eine Art Ende zu Ende Verschlüsselung beim Upload in die Cloud nutzbar sein. Ich habe mir meinen Router „dicht“ gemacht und keine weiteren offenen Ports offen (z.B. 5000 und 5001 usw.) statt dessen gehe ich via IPSEC IKVE2 auf den Router von außen, das sollte m.E. auch soweit sicher sein. Meine Bauchgrummel-Gefühle kommen von hier: 1.) Ich kenne keine ernst zu nehmende externe Cloud die via VPN ansprechbar ist. Nur prperitäre Lösungen mit Ende zu ende Ecryption und die lassen sich z.B. meines Wissens nicht mit einer Synology verbinden. Also wird das nichts richtiges. 2.) Wie kann man rausbekommen, ob es in der Synology-Welt der Encryption-Lösung eine Backdor gibt? Frage: M.E. müsste es sicher genug sein (100% ist wohl illosorisch, aber wenn sich Geheimdienste für einen mit ihren Budgets interessieren darf man sich wohl „von“ schreiben oder hat was falsch gemacht) Wenn z.B. keine Back-Door vorhanden ist und die Pre-Encryptete Datei via SSL auf z.B. Onedrive von MS abgelegt ist, oder Google Drive o.ä.

Tom Alby says

  1. August 2019 at 19:04 Sicherlich gibt es für mehr Geld leistungsfähigere Hardware, sowohl von QNAP als auch von Synology. Für mich zeigt das NextCloudPi-Projekt aber, dass man mit wenig Aufwand und wenig Geld eine hochperformante Lösung erhält, die auch noch als Open Source verfügbar ist (und da können Sie ja nachprüfen, ob es eine Backdoor gibt). Und jetzt mit dem Raspberry Pi 4…

Auch brauche ich ja kein VPN zu einer externen Cloud, wenn ich meine Sachen da schon verschlüsselt ablege…?

Jan says

  1. August 2019 at 09:23 Hallo Tom,

habe soeben zwei deiner Berichte gelesen, da ich mich die Tage ebenfalls mit einer eigenen Cloud beschäftigt habe.

Die Entscheidung viel bei mir zuletzt auf einen Ordoird HC1, fürs OS habe ich eine Standard MircroSD mit V30 Standard verwendet. Die HC1 / HC2 verwenden angeblich ebenfalls die XU Hardware in einer für NAS/Cloud reduzierten Variante.

Die Installation wurde bei mir über Ubuntu 18.04 von Hand aufgesetzt was mich in Summe inkl. Trial-Error Szenarien zwei Tage gekostet hat. Daher klingt es für mich sehr interessant dass es bei Dir innerhalb 30 Minuten mit dem NextcloudPi Image so reibungslos funktioniert hat. Das muss ich dann in kürze noch im zweiten Bastelprojekt verwenden. Mein nächstes Ziel wäre eine Nextcloudlösung inkl. Backup / RAID, mal schauen was dabei rauskommt.

Beste Grüße, Jan

Markus G. says

  1. September 2019 at 21:16 Hallo Tom,

kannst Du uns schon etwas sagen, wie die Performance und Stabilität Deiner Home NAS läuft, bist Du bisher zufrieden oder gab es irgendwelche Probleme im Laufe der Betriebszeit?

Würde gerne so ein Projekt in Angriff nehmen.

Danke und viele Grüße Markus

Tom Alby says

  1. September 2019 at 21:21 Ich bin superglücklich mit der Lösung. Zwischendurch gab es mal ein Problem mit dem Let’s encrypt-Zertifikat, aber auch das hab ich irgendwie gelöst bekommen.

Christian says

  1. Oktober 2019 at 00:01 Hallo Tom, Würden sie empfehlen auf den Rasperry Pi 4 zu setzen, oder lohnt sich der Mehrpreis mit dem Odroid XU4-Set? Ich bin jetzt in dem Thema Einplatinen-Rechner nicht so bewandert und hatte mich nur gefragt ob die 4 GB Ram einen Vorteil bieten. Bei so einer Investition zahle ich aber lieber etwas mehr, wenn es sich lohnt von der Performance. Nutzen sie die Nextcloud App auf ihren mobilen Geräten auch unterwegs?

Tom Alby says

  1. Oktober 2019 at 09:09 Gute Frage. Ich hab den neuen Raspberry noch nicht ausprobiert und kenne auch keinen Benchmark. Ja, ich nutze die Mobile Apps dazu.

Maik says

  1. Oktober 2019 at 15:41 Hallo Tom, leider habe ich deine Beiträge zum Thema einer eigenen Cloud gerade erst jetzt gefunden. Ich habe mich in den letzten Tagen erheblich mit Owncloud und QNAP abgemüht. Alles, was da im Original angeboten wird, ist leider nicht mehr up-to-date. Allerdings würde auch mein NAS (TS-221) sicher als akzeptable Hardware ausscheiden. Nun bin ich am Nachdenken, Folgendes zu realisieren: Ich habe hier noch 2 Pi 3B+ rumliegen, die ich für nichts nutze. Ich würde gern auf einem von denen die NextCloudPi realisieren, den Speicher für die Dateien allerdings auf mein NAS legen (irgendwie mounten), da dort noch soooo viel Platz ist. Geht das denn auch irgendwie? (Man hört vielleicht, dass ich nicht so der Linux/Unix-Crack bin)

DANKE Maik

Tom Alby says

  1. Oktober 2019 at 15:58 Hey Maik,

das geht bestimmt irgendwie, allerdings habe ich das bisher auch noch nicht ausprobiert. Ich vermute aber, dass Deine QNAP auch Linux-basiert ist, dann ist aber Handarbeit auf der Konsole angesagt. Siehe einmal hier: https://thepihut.com/blogs/raspberry-pi-tutorials/26871940-connecting-to-network-storage-at-boot

Beste Grüße

Tom

Christian says

  1. Oktober 2019 at 23:43 Hallo Tom, Ich habe mir auf einem Odroid N2 mit Debian buster Nextcloud eingerichtet. Die Daten werden auf zwei 1TB SSDs im Raid 1 gespeichert. Hast du auch Probleme mit Dateien mit deutschen Umlauten? Ich wollte gerade meine PDFs aus dem Studium hochladen aber habe einige Dateien die Probleme machen. Ich habe einiges gelernt bei diesem Projekt. Danke für die Empfehlung. viele Grüße Christian

Tom Alby says

  1. Oktober 2019 at 09:08 Hey Christian,

nein, keine Probleme mit Umlauten. Ich hoffe, Du bekommst das Problem gelöst.

Beste Grüße

Tom

Nico says

  1. November 2019 at 17:46 Hi Tom,

Danke für Deinen Beitrag, das klingt ganz nach etwas, das ich schon lange gesucht habe Darf ich nachfragen, welche Bandbreite Dein Upload für das von dir oben beschriebene System hat? Dass Du schreibst, gleich schnell/schneller als GDrive ist ja schon eine Aussage, da wollte ich nur mal nachfragen, ob du als IT Spezialist auf einer Gigabit Leitung sitzt

Gerhard Treisbach says

  1. November 2019 at 12:55 Hallo Tom,

nachdem ich Deinen Artikel gefunden habe, habe ich mir die von Dir empfohlene Hardware (ODROID-XU4) über Deine Links bestellt.

Mit einem Original Ubuntu MATE Image von odroid.com bekomme ich das Teil auch problemlos zum Laufen, aber sowie ich versuche, das Image von deinem Link (NextCloudPi_OdroidHC2_08-01-19 ) zu installieren, bleibt der ODROID beim Booten einfach stehen. Keine Bildschirmausgabe und auch keine zugewiesene IP Adresse.

Kannst Du noch irgendwie rausfinden, welche Version das NextCloudPI Image hatte, dass Du damals verwendest hast und mit dem alles auf Anhieb lief?

Liebe Grüße Gerhard

Chillbird says

  1. November 2019 at 16:02 Hallo Tom,

super Artikel und die Zeit die du damit „verschwendet“ hast, koennen sich Leser wie ich dann dafuer ersparen. Vielen Dank! Ich wuerde mich sehr ueber ein Update freuen, vorallem wenn Du die automatisierte E2EE Backupfunktion in die Cloud realisiert hast. Um das System perfekt zu machen, koennte man statt der einzelnen Platte dann auch einen Hardware RAID Array dranhaengen (zb den um 100 Euro: FANTEC QB-35US3-6G), vielleicht gibt es sogar Hardware Encryption+RAID Loesungen?

Hast du sowas wie einen Newsletter? Wenn ja, melde ich mich hiermit an

Danke und alles Gute weiterhin, Chillbird

Gabi says

  1. Januar 2020 at 04:00 „Übrigens, auch wenn die Zugangs-URL eine Domain ist, wird im eigenen Heimnetzwerk auch nur lokal kommuniziert. Es wird also nicht der Umweg über das Internet gegangen, auch wenn das vielleicht so aussieht.“

Wie machst du das? Ich versuche dasselbe, aber bei mir stellt sich die Fritzbox quer…

Mirko says

  1. Januar 2020 at 16:16 Hallo Tom,

es gibt eventuell ein Problem mit Boards der Revision 0.1 20180912 . Die Teile booten nicht mit dem aktuellen NextCloudPi Image vom Januar 2020. Gerhard Treisbach hatte das gleiche Problem. Ich habe versucht Armbian zu installieren, habe aber das gleiche Problem. Ubuntu Mate läuft problemlos.

Viele Grüße

Mirko

Tobias says

  1. Januar 2020 at 08:43 Hallo Mirko,

mit welcher Revision läuft dann Nextcloudpi image. Mit den älterenen oder den neueren. Würde mich interessieren, da ich mir auch gerade ein NAS aufbauen möchte.

Gruß Tobias

Gerhard Treisbach says

  1. Januar 2020 at 16:49 Hallo, hier noch mal Gerhard,

ich habe das Problem mit dem nicht bootenden XU-4 gelöst bekommen, hier mal der Link zu dem entsprechenden Thread im NextcloudPi Support Forum:

https://help.nextcloud.com/t/nextcloudpi-odroidhc2-12-19-19-does-not-boot-on-odroid-xu4/67322

Schreibe einen Kommentar

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