Einfaches Familien-NAS mit dem Raspberry Pi einrichten. Mi CasaOS es su CasaOS. – Teil 1
Liegen in der Schublade noch ein ausgedienter USB-Speicher und ein kleiner Raspberry Pi? Dann kann man sich mit wenigen Klicks eine „WLAN-Familien-Festplatte“ mit einer Reihe von Extras basteln: Nutzerkonten, Dateiablage über alle Geräte hin, Dokumenten- und Foto-Archiv usw.
Inhalt
Kinderleichte 3-2-1-Installation
Leute, die Home-Server betreiben oder ein NAS verwenden, verbringen oft viel Zeit mit der Konfiguration. Von Ports ist die Rede, Berechtigungen, Freigaben, externe Speicher mounten, Proxy-Geraffel usw. usw. Bei unserem Minimal-NAS wird all das – fast – keine Rolle spielen. Die Basis-Einrichtung ist in 3 Schritten erledigt:
- USB-Speicher an den Raspberry Pi stöpseln.
- Einen Textbefehl im Terminal eingeben.
- NAS über ein beliebiges Gerät mit dem Browser aufrufen.
Alternativ zum Web-Browser kann man die Dateien auch über die Filemanager seines Computers oder Smartphones abrufen:
Okay, ein paar zusätzliche Anpassungen muss man zu Beginn vornehmen, aber das ist kein Hexenwerk.
Was kann das Do-it-yourself-NAS?
Unsere Basis-Anwendung ist CasaOS. Es gibt momentan schlicht keine Anwendung im Home-Server-Bereich, die derart leicht zu bedienen ist, wie das bei CasaOS der Fall ist.
Und: CasaOS kann zusätzlich neben anderen Anwendungen installiert werden! Wenn man also bereits Raspberry Pi OS mit Desktop-Anwendungen nutzt oder bereits Server-Anwendungen installiert hat, so ist das kein Problem. Alles läuft weiterhin, wie man es zuvor eingerichtet hat.
Wie gesagt: Unser NAS wird einfach im Browser aufgerufen – es erscheint dann eine Oberfläche, die man mit den gewünschten Anwendungen per Mausklick bestücken kann:
In diesem Beispiel sind zu sehen:
- Paperless-ngx: Dokumenten-Management
- Memos: Markdown-Notizsystem
- PhotoPrism: Foto-Verwaltung
- Duplicati: Backup-Programm
- Syncthing: Datei-Synchronisierung
Der Schwerpunkt in diesem Artikel wird „FileBrowser“ bilden, da diese Anwendung ideal für die Dateiablage innerhalb der Familie oder eines kleinen Büros ist. Auf der linken Seite kann man auch die angeschlossenen Speichermedien sehen. Bei mir ist das eine fünf Jahre alte USB-Festplatte mit 1 TB und ein 256-GB-Stick mir sehr hohen Schreib-Lese-Geschwindigkeiten.
Verwendet habe ich einen Raspberry Pi 4 mit 4 GB Arbeitsspeicher – damit erhalten wir bereits ein recht flottes System. Ein älterer Raspberry Pi 3 sollte ebenso funktionieren, da FileBrowser auch ohne CasaOS installiert werden kann. (Und natürlich kann man alternativ auch einen Mini-PC oder ThinClient verwenden.)
CasaOS
Installation mit einem einzigen Textbefehl
Das Raspberry Pi OS bringt bereits alles mit, was wir für die Installation von CasaOS benötigen. Es genügt also, ein Terminalfenster zu öffnen und folgende Zeile einzufügen:
curl -fsSL https://get.casaos.io | sudo bash
Damit werden die benötigten Dateien geladen und installiert, was einige Minuten dauern kann. Wenn der Prozess beendet ist, erscheint eine entsprechende Zeile mit der IP des Geräts im Terminal. Nun öffnet man in einem Browser, der sich auch z. B. auf dem Windows-Rechner oder MacBook befinden kann, den IP-Link zu seinem Raspberry Pi (z. B. „192.168.178.64“).
CasaOS startet sofort und bringt ein Registrierungsfenster, mit dem man seinen Admin-Account anlegt. Danach sieht man die Oberfläche für die Anwendungen im Browser. Aber wie gesagt: Man kann weiterhin direkt auf dem Raspberry Pi mit seinen gewohnten Programmen – etwa Libre-Office – arbeiten:
Bonus-Tipp: Port wechseln
CasaOS startet, wenn man die „pure“ IP ohne Zusätze eingibt. Gelegentlich betreibt man (Web-)Anwendungen, die ihrerseits gerne auf dem Standardport direkt starten möchten. Daher habe ich CasaOS einfach eine Port-Nummer zugewiesen, die ich mir gut merken kann („2207“). Das Browser-Lesezeichen, mit dem ich CasaOS aufrufe, lautet also: „192.168.178.64:2207“. Die Umstellung geht super-einfach, da CasaOS in den Einstellungen eine entsprechende Option vorgesehen hat:
Warum nicht einfach „Files“ nehmen?
CasaOS installiert direkt eine Dateien-App namens „Files“ mit. Warum dann zusätzlich „FileBrowser“ installieren? Nun, FileBrowser bringt noch eine Reihe zusätzlicher Möglichkeiten mit. Vor allem aber: Mit FileBrowser kann ich getrennte Accounts/Dateiablagen für unterschiedliche Personen samt Berechtigungsmanagement anlegen. Und: Die Ablageorte lassen sich via FileBrowser „direkter“ ansteuern, Files erfordert jeweils ein paar Klicks mehr.
FileBrowser
Installation
Ein Klick auf „App Store“ öffnet den Softwarekatalog mit rund 100 Anwendungen, die mit einem Klick installiert werden können (der Katalog lässt sich auf etwa 500 Anwendungen erweitern). Mit dem Suchfeld sollte man „FileBrowser“ rasch entdecken:
Auf „Installieren“ klicken, etwas warten, fertig. Ein neues Icon erscheint, mit dem man Filebrowser starten kann. Die Zugangsdaten für den Admin-Account können über ein kleines 3-Punkte-Menü neben dem Icon unter „Tipps“ ausgelesen werden:
Nutzername: admin
Passwort: admin
Da FileBrowser eine eigene Port-Nummer erhalten hat, kann man künftig das Dashboard von CasaOS überspringen. Mit „192.168.178.64:10180“ wird FileBrowser direkt gestartet (die Beispiel-IP natürlich durch die IP des eigenen Geräts ersetzen).
Ablageort auf USB-Speicher „umbiegen“ – rasch erledigt
Pfad auslesen
FileBrowser soll ja ohne Umwege direkt auf den externen Speicher zugreifen. Und genau das ist ein Punkt, der Nicht-IT-Leute oft abschreckt. Denn da muss was „gemountet“ werden und irgendwelche kryptischen Pfade in irgendwelche Konfigurationsdateien eingetragen werden. Zum Glück geht es deutlich einfacher.
Der Raspberry Pi ist von Haus aus so eingestellt, dass er angeschlossene Medien erkennt und in seinem Dateimanager anzeigt. Wenn ich also meine 1-TB-USB-Festplatte von Toshiba anschließe, so wird diese wie folgt angezeigt:
Wichtig ist nur die Adresszeile, in diesem Fall „/media/a/USB_1TB_Toshiba“. Der Pfad „/media“ ist unter Linux ein übliches Verzeichnis für eingehängte Geräte, „/a“ ist mein Nutzername (bei Ihnen vielleicht „/pi“ oder „/udo“ und mit „USB_1TB_Toshiba“ ist der Name des Datenträgers, den ich bei einer früheren Formatierung mal vergeben hatte. Diese Zeile benötigen wir für den nächsten Schritt.
Nebenbei: Auf dem Screenshot ist zu sehen, dass der USB-Speicher nicht „leer“ sein muss. Man kann alte Verzeichnisse bestehen lassen und für die Dateiablage einen gesonderten Unterordner (z. B. „Familie“) anlegen.
Nun werden die Einstellungen von Filebrowser aufgerufen. Dazu wieder auf die 3 Punkte über dem Icon klicken:
In der Mitte des Einstellungsbildschirms befindet sich der Abschnitt „Speicher“. In das Feld links von „/serv“ wird nun das Zielverzeichnis auf dem externen USB-Speicher eingetragen. Alternativ kann man auch das „graue Quadrat“ in dem Feld anklicken – damit öffnet sich ein Dateibrowser und man hangelt sich zum USB-Speicher hin.
Erledigt. Nun kann FileBrowser (nochmals) gestartet werden.
User-Konten anlegen
In den „Einstellungen/Globale Einstellungen“ ist das Häkchen für „Home-Verzeichnisse“ wichtig:
Damit entsteht auf dem USB-Speicher später eine Ordner-Struktur nach dem Muster „/users/udo“, „/users/linda“ usw. Auch Berechtigungen können vergeben werden:
Nur Administratoren können alle Verzeichnisse einsehen. Wer kein Administrator ist, der sieht nur seine eigenen Unterpfade und Dokumente. In der „Benutzerverwaltung“ legt man neue Konten an und legt die Berechtigungen fest.
Dateioperationen
Die Mit-Benutzer können in ihrem eigenen Bereich schalten und walten, wie immer sie möchten: Eigene Ordner-Strukturen anlegen, Dateien einstellen, Dateien verschieben oder löschen – eben alle Standard-Aktivitäten, die man sonst im Dateimanager macht. Hier spielt sich aber alles auf dem angeschlossenen Speichermedium und nicht lokal auf dem Gerät ab.
Dabei bleibt die Oberfläche übersichtlich – Buttons und Beschriftungen sollte man auf Anhieb verstehen können.
Dabei gibt es eine Reihe von Kleinigkeiten, die die Operationen erleichtern. So können Dateien z. B. direkt via Drag-and-Drop auf die Web-Oberfläche aufgenommen werden. Oder man kann für den Download mehrerer markierter Dateien aus einer Reihe von Archiv-Formaten wählen (zip, tar usw.).
Teilen mit Verfallsdatum und Passwort
Ordner und Dokumente können auch mit einem Link geteilt werden. Wenn man möchte, kann man auch ein Passwort und einen Zeitraum vergeben:
Den so erzeugten Link kann man anschließend verschicken – der Empfänger muss kein eigenes Konto haben, um die Dateien abrufen zu können:
Sofern der Raspberry Pi nicht „im Internet hängt“, also über keine eigene Domain verfügt, klappt das nur im Heimnetzwerk (oder via VPN-Verbindung). Dafür funktioniert aber alles sehr flott und einfach.
Mit großen Datenmengen umgehen
Wir werden uns später (Teil 2) noch alternative Wege anschauen, um Dateien auch ohne Weboberfläche auf den USB-Speicher zu übertragen. Aber gerade am Anfang möchte man vielleicht sein ganzes Dokumenten- oder Fotoarchiv auf das Medium übertragen. Dafür gibt es einen einfachen – und sehr schnellen – Weg: Der USB-Speicher wird kurz an den Hauptrechner angeschlossen.
Die Nutzer-Konten sollten zuvor bereits angelegt worden sein, so dass die Ausgangsordner „users/linda“, „users/udo“ usw. bereits von FileBrowser angelegt wurden. Hingegen müssen noch nicht die Verzeichnisse innerhalb der Nutzerverzeichnisse angelegt sein (es können aber auch Verzeichnisse existieren). Schaut man sich den Aufbau im Dateimanager an, so sieht man eine „ganz normale“ Ordnerstruktur:
Man kann also den Speicher kurz entfernen und via Kabel an einem anderen Computer einbinden, dort seine 200 – 500 Dateien übertragen und den so befüllten Speicher wieder beim Raspberry Pi einhängen. Die auf diese Weise übertragenen Ordner und Dokumente tauchen dann in der Web-Ansicht von FileBrowser auf. Neue Dateien fügt man dann über diese Ansicht hinzu.
Auf die Formatierung achten
Für dieses Vorgehen ist es wichtig, dass der USB-Speicher eine Formatierung aufweist, die sowohl von Windows als auch von Linux erkannt wird. Prinzipiell ist das zwar mit NTFS der Fall, ich persönlich würde zu dem Format „exFAT“ raten.
Auf dem Raspberry Pi kann man die Formatierung mit dem Linux-Tool „Gparted“ vornehmen. Installiert wird es mit
sudo apt install gparted
Allerdings kann das Tool durch seine vielen Einstellungsmöglichkeiten ein wenig „abschreckend“ wirken. Für Windows-Nutzer ist das kleine Tool „Rufus“ eine Alternative, die deutlich aufgeräumter wirkt.
Geschwindigkeit der Familien-Cloud
Bei meinen Tests hat sich gezeigt, dass der angeschlossene USB-Speicher der eigentliche „Taktgeber“ ist. Im Falle eines SSD-Mediums mit hohen Lese- und Schreibgeschwindigkeiten läuft alles deutlich flotter ab, als dies mit Übertragungen zu einer Cloud in einem Rechenzentrum der Fall ist (wenn man nicht gerade Glasfaser und eine High-End-Ausstattung hat). Aber sogar bei der „mechanischen“ USB-Platte, die ich angeschlossen hatte, gab es eigentlich nur 1, 2 Sekunden Verzögerung, da diese aus dem Ruhezustand geweckt wurde.
Klar, da der Raspberry Pi 4 nur USB 3.0 hat, dauern sehr große Dateien auch ihre Zeit. Aber unsere Familien-Cloud ist ja für den Alltag gedacht: Scans von Steuerunterlagen, Mail-Anhänge, Broschüren, Arbeitsplätter, Projektanträge, Abschlussarbeiten usw. Für diesen Anwendungsbereich ist unser Mini-NAS ideal, sogar Ordner mit Foto-Archiven werden zügig abgerufen.
Und weiter …
Für die „WLAN-Dateiablage“ via Web-Browser ist damit bereits alles eingerichtet. Egal ob Notebook oder Smartphone: Man gibt den Link ein oder hat ein Lesezeichen dafür angelegt, meldet sich an – und hat sofort Zugriff auf alle eigenen Dokumente.
Über die Suchfunktion müssen wir noch sprechen. Und es wurde ja zu Beginn die Möglichkeit erwähnt, die Standard-Dateimanager auf den Geräten einzusetzen, also bei MacOS den Finder, bei Windows den Explorer oder unter iOS die App „Dateien“. Wie man diese Übertragungswege einrichtet – das werden wir uns in Teil 2 näher ansehen.