Ein 3D-gedruckter Media und Home Server ist eine innovative und kostengünstige Lösung, um Ihre digitalen Medien zu speichern, zu verwalten und zu streamen. Mit einem Raspberry Pi 4 und auch den Raspberry Pi 5 als Herzstück können Sie einen leistungsstarken und energieeffizienten Server erstellen, der bis zu 15 GB Festplattenkapazität bietet. In diesem Blogbeitrag werden wir Ihnen zeigen, wie Sie einen solchen Server mit 3D-Drucktechnologie selbst bauen können, welche Vorteile er bietet und welche Anwendungen Sie damit realisieren können.
- 3D Druckvorlage Raspberry PI Media Server als STL
- Gehäuse für Raspberry Pi 5 Media Server als STL
- Komponenten des Servers
- Raspberry PI Server einrichten
- Raspberry PI Imager einrichten und SD/SSD bespielen
- Einrichtung von SSH für die Fernsteuerung des Servers
- Programme
- Glossar für die Programme (WARUM das ALLES)
- OpenMediaVault installieren
- OMV Extras in OpenMediaVault 6 nicht mehr komplett
- Docker aktivieren
- Portainer aktivieren
- Festplatten mounten
- Netzwerkzugriff auf die Festplatten einrichten
- Pi-Hole mit Portainer installieren
- DNS Konfiguration
- Plex den Media Server mit Portainer installieren
- Plex für das Streaming einrichten
- Druckserver mit Portainer einrichten
- Fazit
3D gedruckter Media Server auf Basis eines Raspberry PI 4
Der Raspberry PI Media Server hat 4 Slots für 5 TB Festplatten, was in Summe 20 TB Speicher ergeben würde. Da mir SD Karten als Speicher für ein Betriebssystem nicht geheuer sind, läuft der Server über eine 120 GB SSD, 32/64 GB würden meiner Meinung nach auch komplett ausreichen. Der Hauptvorteil dieses Gehäuses ist, der Raspberry Pi 4/5 und alle Festplatten werden nur mit einem Lüfter gekühlt. Der Lüfter drückt die Luft nicht ins Gehäuse, sondern bläst diese hinaus, die Ansaugöffnung ist mit einem Filter bestückt. Das 3D gedruckte Raspberry PI Server Gehäuse ist so konzipiert, dass es aus 2 Teilen besteht und auf einem Druckbett mit 220 x 220 x 220 Bauraumgröße gedruckt werden kann. Minimaler Aufwand für ein Raspberry Pi Case, mit optimalen Bedingungen für die weiteren Komponenten.
3D gedrucktes Raspberry Pi 4 Home Server Gehäuse als Download:
3D gedrucktes Raspberry Pi 5 Home Server Gehäuse als Download:
Komponenten des Raspberry PI Servers
Bei der Auswahl der geeigneten Hardware für einen Homeserver sind verschiedene Faktoren zu berücksichtigen. Eine beliebte Option ist der Raspberry Pi, der aufgrund seiner geringen Größe und seines niedrigen Energieverbrauchs ideal für den Einsatz als Homeserver ist.
Der Raspberry Pi bietet eine Vielzahl von Möglichkeiten und kann leicht an die eigenen Bedürfnisse angepasst werden. Ein wichtiger Aspekt bei der Auswahl des Raspberry Pi ist die Leistungsfähigkeit der Hardware. Je nach den Anforderungen an den Homeserver kann ein Raspberry Pi mit unterschiedlichen Prozessoren und Arbeitsspeicher ausgewählt werden.
Auf folgendem Screenshot ist die Systemauslastung eines Raspberry Pi 4 mit 8GB aufgeführt. Hier laufen parallel der Samba Server für netzwerkweiten Zugriff auf die verbauten Festplatten, Pi-Hole mit 475000 geblockten Domains, OpenMediaVault, Docker, Portainer, Plex und ein klassischer Druckerserver. Dabei werden etwas über 800 MB Ram von den 8 GB benötigt.
Der Raspberry Pi 4 ist ein leistungsstarker und vielseitiger Mini-Computer, der sich für viele Anwendungen eignet. Eine davon ist die Nutzung als NAS-Server mit vier Festplatten, hier zwei SSDs und zwei HDDs. Doch wie viel Strom verbraucht ein solches Setups? Die Antwort ist erfreulich: Bei geringer Auslastung liegt der Verbrauch bei knapp 11 W, was deutlich weniger ist als bei einem herkömmlichen NAS-Server. Das bedeutet, dass man mit dem Raspberry Pi 4 nicht nur Speicherplatz erhalten, sondern auch Energie sparen kann. Das ist gut für den Geldbeutel.
Welche Komponenten sind sinnvoll?
Es kommt darauf an. Sollte der Pi-Server ausschließlich für Internet-Cloud, oder für einfaches Netzwerkstreaming gedacht sein, reicht ein Raspberry Pi 3b+ mit 300 MBit/s (ca. 37 MB/s) vollkommen aus. Über WLAN unter optimalen Bedingungen stünden maximal 100 MBit/s (ca. 12,5 MB/s) zur Verfügung. Für Netzwerk interne Datenverschiebungen im Gigabytebereich sollte ein Raspberry Pi 4 mit Gigabitlan genutzt werden. Hier liegen bei mir bis zu 900 MBit/s (ca. 112,5 MB/s) an, was auch schon in die Limits der 2,5 Zoll HDD Festplatten geht.
Für den Raspberry Pi hat sich ein Vollmetallkühlkörper bewährt, der selbst keinen Lüfter benötigt. Die Durchzugsluft wird mit einem 60 x 60 Lüfter angesaugt und kühlt so die Festplatten und den Raspberry hervorragend. Sinnvoll ist hier ein Lüfter geeignet für 24 V und eine Versorgungsspannung mit 12 V. So dreht der Lüfter nicht hörbar, entwickelt dennoch einen ausreichenden Durchtausch der Kühlluft auch im Sommer.
Als Systemspeicher sollte eine SSD genutzt werden, diese haben einen wesentlich höheren Lebenszyklus, als jede SD-Karte. Aktuell ausgelieferte Raspberry Pi 3b+ und Pi 4 können schon direkt von USB booten. Ältere Versionen (auch Pi 4) benötigen ein Firmware Update.
Für Ende Oktober steht nun der Raspberry Pi 5 in den Startlöchern, für die grundlegenden Servergeschichten wäre er mit persönlich zu überdimensioniert. Wo er etwas reisen wird, ist der Multimedia-Bereich im 4k Segment, kann ich mir vorstellen. Ich hatte auf dem Pi 4 mit FullHD und meinen SD Serien selbst über 5 gleichzeitigen Geräten keine Probleme.
Liste der hier im Projekt verbauten Komponenten
Disclaimer: Bei den Links handelt es sich um sogenannte Affiliate-Links. Ihr bezahlt dadurch nicht mehr, ich bekomme dafür aber ein paar Prozente. Genau die hier genannten Produkte habe ich für dieses Projekt hier aus eigener Tasche gekauft.
Raspberry Pi 4 8GB | Amazon | EBAY | Aliexpress |
Raspberry Pi 4 4GB | Amazon | EBAY | Aliexpress |
Raspberry Pi 3b+ | Amazon | EBAY | Aliexpress |
SSD 2,5“64GB Sata | Amazon | EBAY | Aliexpress |
HDD 2,5“ 5 TB Sata | EBAY | ni. zu empfehlen | |
HDD 2,5“ 2 TB Sata | Amazon | EBAY | ni. zu empfehlen |
5V PowerSupply | Amazon | EBAY | Aliexpress |
12V 25W Netzteil | Amazon | EBAY | Aliexpress |
USB 3.0 to Sata | Amazon | EBAY | Aliexpress |
24V 60x60x15 Lüfter | Amazon | EBAY | Aliexpress |
USB C winklig | Amazon | EBAY | Aliexpress |
USB Hohlkammerstecker 1,35 | Amazon | EBAY | Aliexpress |
USB 3 HUB | Amazon | EBAY | Aliexpress |
Passiv Kühler Raspberry | Amazon PI3 Amazon PI4 | EBAY PI3 EBAY PI4 | |
Kabelbinder | Amazon | EBAY | Aliexpress |
3D Drucker und Filamentempfehlung
Sie benötigen in diesem Bastelprojekt einen 3D-Drucker, der mit Ihrem Filament-Typ kompatibel ist, sowie eine Software, die Ihnen erlaubt, die 3D-Dateien zu öffnen und an den Drucker zu senden. Wir empfehlen Ihnen, einen 3D-Drucker zu wählen, der einfach zu bedienen, zuverlässig und kostengünstig ist. Ein Beispiel für einen solchen Drucker ist der Ender 3 S1 von Creality, auf dem dieses Gehäuse hier in dieser Anleitung gedruckt wurde. Für das Filament können Sie PLA (Polylactid) verwenden, das ein biologisch abbaubares und umweltfreundliches Material ist. PLA ist in verschiedenen Farben erhältlich und hat eine gute Druckqualität. Sie benötigen etwa 200 Gramm Filament, um ein Gehäuse für Ihren Raspberry PI Server zu drucken.
Ender 3 S1 | Amazon | EBAY | Aliexpress |
Sidewinder X2 | Amazon | EBAY | Aliexpress |
Filament | |||
Sunlu PLA | Amazon | EBAY | Aliexpress |
JAYO PLA | Amazon | EBAY | Aliexpress |
Betriebssystem für den Raspberry PI vorbereiten
Imager herunterladen
Um den Raspberry Pi zum Starten zu bewegen, benötigen wir ein Betriebssystem, in diesem Fall nutzen wir das Rasberry PI OS Lite Debian Bullseye ohne Desktop Funktionen in der 64 Bit Version, um gleich für die Zukunft gewappnet zu sein und nicht mal vor dem Problem zu stehen, dass die Updates für die 32 Bit Versionen eingestellt werden.
Hierfür benötigen wir den Raspberry Pi Imager (download)
Welcher in der jeweils benötigten Version (Windows, Mac, Linux) installiert werden sollte.
Richtige Image auswählen
Nach dem Start des Imagers wird nach der zu installierenden Version gefragt.
Hier wählen wir „Raspberry Pi OS (other)“ und anschließend im zweiten Fenster „Raspberry Pi OS Lite (64-bit)“ dem Debian Bullseye Port, welcher so 0,4 GB groß sein sollte. Daraufhin sind wir wieder in der Übersicht und wählen bei der „SD-Karte“ das entsprechende Laufwerk mit dem externen Speicher. Hierbei sei gesagt eine SSD hat eine wesentlich höhere Zyklenfestigkeit als eine SD-Karte und sollte hier bevorzugt werden. Es wird auch keine große SSD benötigt, je nach Anwendung reichen 32 GB SSD vollkommen aus, unsere Daten sollen auf unserem Server auf 2,5 Zoll HDD liegen.
grundlegende Parameter einstellen
Bevor wir auf den Button Schreiben klicken, sollten wir noch ein paar Voreinstellungen in der Konfiguration machen, damit wir uns damit später nicht mehr befassen müssen und da erstellen ein paar Dateien weglassen können.
- Der Hostname ist dafür da, damit wir den Raspberry über eine URL ansprechen können und nicht immer auf die IP zurückgreifen müssen.
- Die Aktivierung von SSH ist sehr sinnvoll, um später unseren Pi-Kommandos mittels Putty geben können.
- Wir müssen über Benutzername und Passwort setzen, dem System ein eigenes Login geben, die gibt die Raspberry Pi Foundation mittlerweile nicht mehr vor. Die Logindaten am besten noch aufschreiben
- Wifi einrichten habe ich in meinem Fall deaktiviert gelassen, da über Netzwerkkabel die Zugriffszeit und Übertragungsrate wesentlich höher ist. Reicht schon, wenn die Kleingeräte der Familie über WLAN aufs Netzwerk zugreifen.
- Spracheinstellung, Standard auf Europe/Berlin und Tastaturlayout auf de stellen, damit die Systemuhr korrekt ist und man eben ein deutsches Tastaturlayout hat.
- „Medien nach Beenden auswerfen“ habe ich angeklickt, da es mir einen Klick und Mausbewegungen spart, gegenüber diesem Häkchen.
- auf „Speichern“ klicken
Image auf Datenträger schreiben
Zum Schluss noch auf den Button „Schreiben“ klicken, die Image herunterladen lassen und auf das gewählte Speichermedium speichern. Die SD-Karte kann nach auswerfen aus dem System in den Raspberry Pi gesteckt werden. Von SSD/HDD oder USB-Stick lässt sich von Werk aus ab dem Pi 4 booten, ältere schon länger liegende Pi 3b+ brauchen dafür eine aktuelle Systeminstallation, auf die ich hier nicht tiefer eingehen möchte.
Der Raspberry Pi sollte nun mit einem Netzwerkkabel an den Router angeschlossen und mit einem 5V Netzteil und USB-C Kabel mit Strom versorgt werden. Das Netzteil benötigt mindestens 2A, lieber 3A und eine Spannung von 5,1 V. Unter diesen 5,1 V kann der Pi immer noch betrieben werden, meldet dennoch regelmäßig Unterspanung.
SSH für die Fernsteuerung des Servers einrichten
Ist der PI an unser Netzwerk angeschlossen, benötigen wir die IP-Adresse, mit der der Raspberry zu finden ist für spätere Einstellungen und gleichzeitig wollen wir die IP im Router festsetzen, damit diese sich nicht ändert, sollte sich mal ein anderes Gerät auf diese IP einwählen.
In diesen Bereich kommt man, wenn man in den Browser entweder „fritz.box“ oder die IP (meistens 192.168.0.1 / 192.168.1.1) eingibt). Das Standardpasswort ist meistens „0000“, bei manchen Routern der WLAN-Netzwerkschlüssel und alternativ müssten sie mal im Handbuch schauen.
Den Raspberry PI finden sie unter Heimnetz / Netzwerk mit dem Namen „raspberrypi“ und dort sehen sie auch die IP, die sie sich aufschreiben sollten. Sie können auch viel über den Hostnamen machen, nur bin ich es gewohnt, mit der IP zu arbeiten. Jedenfalls, um diese IP fest auf diesen Raspberry zuzuweisen, müssen sie rechts auf den Stift klicken.
Hier können sie noch ein Häkchen bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.“ setzen und unten rechts zum Abspeichern auf übernehmen klicken.
Das war es mit der IP, nun kommen wir zu Putty.
Putty einrichten
Putty können sie sich >> hier herunterladen. Nach erfolgter Installation die Putty.exe ausführen und es erscheinen ein paar Formularfelder.
Diese wie folgt ausfüllen:
Als „Host Name“ kann die IP oder der Hostname hinterlegt werden, der Port sollte schon mit 22 eingetragen sein. Connection Type ist hier SSH und in das Formularfeld „Saved Sessions“ könnt ihr Euren Namen für die Session eintragen. Mit Klick auf den Save-Button sind die Werte gespeichert. Zum Schluss auf den Button unten rechts auf „Open“ klicken.
Hier den Benutzernamen eingeben, mit Enter bestätigen und anschließend BLIND das Passwort eingeben, es wird Euch nichts angezeigt, der Cursor bleibt auf der Stelle stehen! Und nach Eingabe Enter drücken.
Ihr solltet nun auf dem Raspberry Pi via Putty sein.
Der Befehl „htop“ zeigt Euch die gegenwärtige CPU und RAM Auslastung des PIs an.
Warum werden folgende Programme installiert
Putty
Putty ist der beste Freund für alle, die sichere und zuverlässige Verbindungen zu entfernten Servern benötigen. Mit dieser kostenlosen Open-Source-Software kannst du spielend leicht auf entfernte Computer zugreifen und Befehle ausführen oder Dateien übertragen. Putty unterstützt viele verschiedene Protokolle wie SSH, Telnet, rlogin und SCP. Das Beste daran? Es ist super einfach in der Handhabung und bietet viele Anpassungsmöglichkeiten. Und das alles gibt es natürlich auch für Windows-Betriebssysteme!
OpenMediaVault
OpenMediaVault ist ein richtig cooles Tool für alle, die gerne ihre eigenen Cloud-Speicherdienste haben möchten. Es basiert auf Debian Linux und bietet eine echt easy-to-use Weboberfläche, mit der Du ganz einfach Dateifreigaben, Benutzer und Gruppen verwalten kannst. Auch Netzwerkschnittstellen und RAID-Konfigurationen sind kein Problem damit!
Und das Beste daran? Du kannst damit sogar Plug-ins nutzen, um noch mehr Funktionen zu haben. Mit OpenMediaVault hast du also alles im Griff und kannst Deine Daten auch von unterwegs aus über das Internet erreichen.
Docker
Docker ist eine klasse Open-Source-Plattform für Entwickler, um Anwendungen in Containern zu erstellen, auszuführen und zu verwalten. Diese Container sind isoliert und haben alles dabei, was man benötigt, um die Anwendung laufen zu lassen. Das Beste daran: Docker macht das Bereitstellen von Anwendungen relativ einfach und man muss sich nicht mehr mit komplizierter Infrastrukturverwaltung herumschlagen! Sollte man mal etwas verbastelt haben, so ist nicht das ganze System betroffen, sondern immer nur der jeweilige Container.
Portainer
Portainer.io ist ein super cooles Open-Source-Tool für Docker-Container! Mit Portainer.io kannst du kinderleicht Container erstellen, starten, stoppen und überwachen. Das Beste daran? Es gibt auch ein Dashboard zur Verwaltung von Docker-Services und -Stacks sowie eine grafische Benutzeroberfläche zum Erstellen und Überwachen von Containern. Und das Allerbeste: Du kannst es auf verschiedenen Plattformen wie Linux, Windows und Mac OS über deinen Browser nutzen!
Pi-Hole
Pi-Hole ist eine Open-Source-Software, die als DNS-basierte Werbeblocker-Lösung für das gesamte Netzwerk dient. Es kann auf einem Raspberry Pi oder einem anderen Linux-basierten Computer installiert werden und blockiert Anzeigen, Tracker und Malware auf allen Geräten im Netzwerk, einschließlich Smartphones, Tablets und Smart-TVs. Pi-Hole nutzt DNS-Abfragen, um unerwünschte Inhalte zu blockieren, bevor sie überhaupt geladen werden können.
Plex
Plex ist eine mega coole Streaming-Plattform für alle, die ihre Lieblingsfilme, -serien und Musik immer griffbereit haben wollen. Einfach auf einem zentralen Server speichern und dann von überall aus auf verschiedenen Geräten wie Smart-TVs, Handys oder PCs streamen. Und das Beste: Plex organisiert alles automatisch mit Meta-Daten und man kann sogar Inhalte mit Freunden teilen!
Druckerserver
Ein Druckerserver ist ein Gerät oder eine Software, die es mehreren Computern in einem Netzwerk ermöglicht, auf einen gemeinsamen Drucker zuzugreifen und ihn zu nutzen. Der Druckerserver fungiert als Vermittler zwischen den einzelnen Computern und dem angeschlossenen nicht netzwerkfähigen Drucker und sorgt dafür, dass der Druckauftrag von jedem Computer aus korrekt ausgeführt wird.
OpenMediaVault einrichten
Systemupdate durchführen
Bisher ist nur Debian Bullseye auf dem System installiert und der letzte Stand der einzelnen Software-Pakete der Stand des letzten Image-Uploads.
Mit dem Befehl, welchen wir in Putty eingeben (Rechtsklick auf die Kommandozeile) wird geprüft, ob es aktuellere Software-Pakete gibt und diese werden gegebenenfalls installiert.
nötiger Befehlscode für das Update:
sudo apt-get update && sudo apt-get upgrade
Der Vorgang wird eine Weile dauern und nach einer Weile wird gefragt, ob der zusätzliche nötige Speicher belegt werden kann. Dies mit einem J/Y bestätigen.
Der Vorgang gilt als abgeschlossen, wenn eine Zusammenfassung über die benötigten Megabyte, die Zeit und Durchschnittsgeschwindigkeit angezeigt wird.
OpenMediaVault auf dem Raspberry Pi installieren
Befehlscode für Open Media Vault
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
Jetzt wird OpenMediaVault selbstständig vom Raspberry Pi installiert und dabei alle grundlegenden Pakete installiert. Zum Schluss trennt sich der Raspberry Pi vom Netzwerk und bootet eigenständig neu. Je nach verwendeten Raspberry Pi kann es hier 1 Minute bis zu 5–6 Minuten dauern, ehe der Pi via Putty neu angesprochen werden kann.
Hierfür den Mauszeiger in den Bereich fahren, bei dem es möglich ist, das Fenster zu minimieren, maximieren oder zu schließen und mit Rechtsklick eine Kommandoeingabe zu öffnen. Hier auf „Restart Session“ klicken. Parallel dazu könnt Ihr nun einen Browser öffnen und in die Adresszeile „rasp.local“ eingeben und kommt hier in den Loginbereich von OpenMediaVault.
Hierbei ist darauf zu achten als:
Username: admin
Password: openmediavault
zu benutzen.
Sollten bei Euch die Fragen aufkommen, wie:
Dann habt ihr euch evtl. mit dem Raspberry Pi Log-in, welches ihr zu Beginn euch gegeben hattet, versucht einzuloggen
OMV Extras in OpenMediaVault 6 nicht mehr komplett
Ja richtig gelesen, es gibt in OpenMediaVault zwar noch den Reiter „omv-extras“, der ist aber nahezu leer und hat keine Untermenüpunkte mehr. Docker und Portainer müssen jetzt anders installiert werden, als in den vielen bisher erschienen Tutorials beschrieben.
Docker in OpenMediaVault 6 einrichten
- unter System\omv-extras – „Docker repo“ abhaken und rechts unten auf „Save“ klicken
- unter System\Plugins nach „compose“ suchen, openmediavault-compose Version 6.x.x anklicken, sodass es Gelb erscheint und auf Install (Pfeil nach unten, neben der Lupe klicken). Alle Abfragen nun bestätigen (confirm, Yes)
- unter Storage\File Systems links oben das Plus (Create) anklicken, eurer gewünschtes File Format auswählen (EXT4 nehme ich gern), bei Device eure Systempartition auswählen und anschließend rechts unten auf „Save“ klicken
- Jetzt könnt ihr unter „File System“ eure Partition auswählen und rechts unten auf „Save“ klicken
- Sollte nun „Peding configurations changes“ Gelb/Orange untermalt erscheinen – auf das Häkchen klicken und alles bestätigen
- nun auf Storage\Shared Folders links oben das Plus (Create) anklicken, unter „Name“ – Docker eintragen, bei „File System“ eure gerade erstellte Partition auswählen, bei „Permissions“ – Everyone: read/write auswählen und zum Schluss rechts unten auf „Save“ klicken
- nun wieder „Peding configurations changes“ mit auf das Häkchen abklicken und alles bestätigen
- nun auf Services\Compose\Settings durchklicken und unter „Shared folder“ unseren kürzlich erstellten Ordner „Docker“ auswählen, rechts unten „Save“ anklicken
- „Peding configurations changes“ – AUF KEINEN FALL ABKLICKEN
- zuerst unten rechts auf „Reinstall Docker“ klicken und alles bestätigen
- jetzt „Peding configurations changes“ bestätigen
- nachdem er fertig ist, das Browserfenster neu laden und Docker sollte nun mit „Installed and running“ seinen Dienst tun.
Portainer einrichten
- in putty wechseln
- folgenden Code eingeben: sudo su –
- folgende Zeile eingeben: docker run -d -p 8000:8000 -p 9443:9443 –name portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
- Fertig
Im Browser nun „https://rasp.local:9443 eingeben und man ruft nun Portainer auf. Hier muss ein eigenes Passwort eingetragen werden, welches man sich auch merkt.
Portainer läuft nun.
Festplatten-mounten
Hierfür rufen wir wieder OpenMediaVault, bei mir mit https://rasp.local auf.
Zuerst überprüfen wir, ob alle angesteckten Festplatten richtig erkannt wurden.
Über: Storage\Disks können wir die erkannten Festplatten sehen. Hier sieht man aktuell nur, dass der Raspberry Pi die Festplatten auch erkannt hat, er hat noch keinen Zugriff darauf.
Über: Storage\File Systems können jetzt weitere Speichermedien eingerichtet werden. Hierfür müsst ihr zum reinen Mounten die Dreieckstaste oder zum Formatieren und anschließenden Mounten auf das Plus-Symbol klicken.
BTRFS ist das aktuellste Journaling-Dateisystem, welches Funktionen wie Snapshots, Komprimierung, Deduplizierung und erweiterte RAID-Konfigurationen unterstützt, die ext4 nicht hat. Es ist bei einer Neueinrichtung wohl von Vorteil darauf zu gehen. Außer ihr wohl eure Festplatte/ euren USB-Stick nur einhängen und so weiter verwenden, dann einfach nur auf das Dreieck-Symbol klicken.
Zusätzlich könnt ihr hier unter „Usage Warning Threshold“ euch ab einem bestimmten Grenzwert eine Warnung via Mail zukommen lassen, dass euer Speichermedium diesen Grenzwert überschritten hat. Hier am Ende auf „Save“ klicken und „Pending configuration changes“ mit dem Klick auf das Häkchen wieder bestätigen.
Die Laufwerke sind nun für das System eingerichtet.
Netzwerkzugriff auf die Festplatten einrichten
Die eingerichteten Festplatten wollen wir nun in unserem Netzwerk benutzen und einigen diversen Geräten auf diesen Speicher zugreifen.
Hierfür müssen wir nun zu: Storage\Shared Folders wechseln.
Nach dem Klick auf das Plus tragen wir den Namen der Freigabe ein und auf welcher Partition diese erstellt werden soll.
Zum Schluss wieder auf „Save“ und „Pending configuration changes“ bestätigen.
Benutzer einrichten
Für die Freigabe auf unseren Rechner benötigen wir einen Benutzer und ein Passwort, damit nicht jeder, der in unser Netzwerk kommt, zu leicht Zugriff auf all unsere Daten hat. Aus dem Grunde richten wir nun einen weiteren User ein.
klick auf Users\Users
links oben auf das blau umkreiste Plus Symbol klicken
Benutzernamen, Passwort, Passwort bestätigen, eintragen und rechts unten auf „Save“ klicken. Weitere Eingaben sind nicht nötig, können dennoch getätigt werden
noch nicht „Pending configuration changes“ bestätigen!
markiere den Benutzer und klicke auf das Symbol mit dem kleinen Schlüssel
Hier können die Lese- und Schreibsrechte für die freigegebenen Ordner eingestellt werden, anschließend nur noch auf „Save“ klicken und alle weiteren Abfragen bestätigen.
jetzt „Pending configuration changes“ und weitere Abfragen bestätigen. Fertig
- klick auf Users\Users
- links oben auf das blau umkreiste Plus Symbol klicken
- Benutzernamen, Passwort, Passwort bestätigen, eintragen und rechts unten auf „Save“ klicken. Weitere Eingaben sind nicht nötig, können dennoch getätigt werden
- noch nicht „Pending configuration changes“ bestätigen!
- markiere den Benutzer und klicke auf das Symbol mit dem kleinen Schlüssel
- Hier können die Lese- und Schreibrechte für die freigegebenen Ordner eingestellt werden, anschließend nur noch auf „Save“ klicken und alle weiteren Abfragen bestätigen.
- jetzt „Pending configuration changes“ und weitere Abfragen bestätigen. Fertig
SMB Server einrichten
Um eine SMB Freigabe auf Ihrem Server zu nutzen, müssen Sie zunächst einige Schritte durchführen. In diesem Blogbeitrag erkläre ich Ihnen, wie Sie den Server aktivieren und konfigurieren können, um Dateien und Ordner über das Netzwerk zu teilen.
- zuerst über das Menü durchhangeln Services\SMB/CIFS\Settings
- Bei mehreren Benutzern, die nicht alle auf alles Zugriff erhalten sollen, ist es sinnvoll bei „Enable user home directories“ ein Häkchen zu setzen.
- Ebenso ist es möglich einen „Papierkorb“ unter „Enable recycle bin“ einzurichten, wenn man an soetwas interssiert ist.
- Zum Schluss rechts unten wieder auf „Save“ klicken. Fertig
SMB Freigaben einrichten
- klick auf Services\SMB/CIFS\Shares
- Freigabe durch Klick auf Plus Symbol hinzufügen
- Im DropDown-Menü muss nun der Ordner, der freigegeben werden soll, ausgewählt werden
Begriffsbeschreibung:
Hier noch eine Begriffserklärung für die diversen Punkte in diesem Formular und wie Sie verschiedene Optionen für Ihre Server-Freigaben einstellen können. Diese Optionen können Sie bei der Erstellung oder Bearbeitung einer Freigabe auswählen und sie beeinflussen, wie andere Benutzer auf Ihre Daten zugreifen können. Die Optionen sind:
- Read-Only: Aktivieren Sie diese Option, wenn Sie den Ordner nur mit Leseberechtigung freigeben möchten. Das bedeutet, dass andere Benutzer die Dateien in dem Ordner ansehen, aber nicht ändern oder löschen können.
- Browsable: Aktivieren Sie diese Option, wenn Sie den Ordner beim Durchsuchen der Server-Freigaben sichtbar machen möchten. Das ist nützlich, wenn Sie den Ordner für alle oder eine bestimmte Gruppe von Benutzern zugänglich machen möchten. Wenn Sie diese Option deaktivieren, ist der Ordner nur durch direkte Eingabe des Pfads erreichbar.
- Time Machine Support: Aktivieren Sie diese Option, wenn Sie die Freigabe für die Time Machine Funktion von Apple nutzen möchten. Das ermöglicht Ihnen, automatische Backups Ihrer Mac-Geräte auf dem Server zu erstellen und wiederherzustellen.
- Inherit ACLs: Aktivieren Sie diese Option, wenn Sie möchten, dass die Zugriffskontrolllisten (ACLs) von den übergeordneten Verzeichnissen auf die neuen Ordner und Dateien in der Freigabe übernommen werden. Die ACLs bestimmen, welche Benutzer oder Gruppen welche Berechtigungen für die Dateien und Ordner haben.
- Inherit permissions: Aktivieren Sie diese Option, wenn Sie möchten, dass die Zugriffsrechte von den übergeordneten Verzeichnissen auf die neuen Ordner und Dateien in der Freigabe übernommen werden. Die Zugriffsrechte bestimmen, ob eine Datei oder ein Ordner lesbar, schreibbar oder ausführbar ist.
- Enable recycle bin: Aktivieren Sie diese Option, um die Papierkorbfunktion für die Freigabe zu aktivieren. Das bedeutet, dass gelöschte Dateien oder Ordner nicht endgültig entfernt werden, sondern in einen speziellen Papierkorb-Ordner verschoben werden. Von dort können Sie sie bei Bedarf wiederherstellen oder endgültig löschen.
- Hide dot files: Aktivieren Sie diese Option, wenn Sie Dateien verstecken möchten, die mit einem Punkt beginnen. Diese Dateien sind normalerweise versteckte Systemdateien oder Konfigurationsdateien, die für die meisten Benutzer nicht relevant sind.
- Extended attributes: Aktivieren Sie diese Option, wenn Sie erweiterte Attribute für Ihre Dateien oder Ordner speichern möchten. Erweiterte Attribute sind zusätzliche Informationen, die mit einer Datei oder einem Ordner verknüpft sind, wie Kommentare, Tags oder Vorschaubilder.
- Store DOS attributes: Aktivieren Sie diese Option, wenn Sie DOS-Attribute für Ihre Dateien oder Ordner speichern möchten. DOS-Attribute sind einfache Attribute, die mit einer Datei oder einem Ordner verknüpft sind, wie schreibgeschützt, archiviert oder versteckt.
- Nach der Parametrierung wieder rechts unten auf „Save“ klicken. Fertig
Netzwerklaufwerk in Windows einrichten
Ist nun SMB auf Windows aktiv, muss nur noch auf den Arbeitsplatz\Netzwerk zugegriffen werden und wir sollten unseren Raspberry finden.
Freigegebenen Festplatten:
- Nach dem Klick auf „RASP“ muss nur noch der Loginname und das Passwort von unserem Nutzer eingegeben werden und man hat Zugriff über das Netzwerk auf die freigegebenen Ordner. Fertig
Kein Zugriff auf den Raspberry?
Zum einen, ist evtl. Nutzername und/oder Passwort nicht korrekt, oder sie sehen kein Raspberry im Netzwerk? Sehr wahrscheinlich ist SMB unter Windows nicht aktiviert. Gehen sie wie folgt vor.
- Melden Sie sich als Benutzer mit Administratorrechten an Ihrem Windows-PC an. Dies ist notwendig, um Änderungen an den Windows-Features vornehmen zu können.
- Gehen Sie auf „Lupe“ und tippen Sie das Wort „Features“ ein, um die interne Suche zu starten. Sie sollten ein Ergebnis mit dem Namen „Windows-Features aktivieren oder deaktivieren“ sehen. Klicken Sie darauf, um das Fenster zu öffnen.
- In dem Fenster sehen Sie eine Liste von verschiedenen Windows-Features, die Sie aktivieren oder deaktivieren können. Scrollen Sie etwas herunter und suchen Sie den Punkt „Unterstützung für die SMB 1.0/CIFS Dateifreigabe“. Dies ist das Feature, das das SMB-Protokoll enthält.
- Erweitern Sie den Menüpunkt durch einen Klick auf das „+“ Symbol. Sie sollten nun drei Unteroptionen sehen: „SMB 1.0/CIFS Automatische Entfernung“, „SMB 1.0/CIFS Client“ und „SMB 1.0/CIFS Server“.
- Setzen Sie nun das Häkchen bei „SMB 1.0/CIFS Client“, um das Protokoll auf dem Windows-PC zu aktivieren. Dies ermöglicht es Ihrem PC, auf SMB-Freigaben zuzugreifen, die von anderen Geräten im Netzwerk bereitgestellt werden. Wenn Sie auch SMB-Freigaben von Ihrem PC aus anbieten wollen, müssen Sie auch das Häkchen bei „SMB 1.0/CIFS Server“ setzen.
- Klicken Sie zum Abschluss noch auf „OK“, damit die Einstellungen übernommen werden. Je nachdem, ob Sie andere Features aktiviert oder deaktiviert haben, kann es sein, dass Ihr PC neu gestartet werden muss, um die Änderungen wirksam zu machen.
- Damit sollte das Problem beseitigt sein. Sie sollten nun in der Lage sein, auf die SMB-Freigaben im Netzwerk zuzugreifen.
Quelle zu Openmediavault und seinen Einstellungen: OpenMediaVault by Nerdiy (Danke, wäre ansonsten gnadenlos gescheitert)
Netzwerklaufwerk unter Windows fest einbinden
Ich möchte Ihnen noch zeigen, wie Sie ein Netzwerklaufwerk als Windows Ordner einbinden können. Dies ist nützlich, wenn Sie auf Dateien zugreifen möchten, die auf einem anderen Gerät in Ihrem Netzwerk gespeichert sind, zum Beispiel auf einem Raspberry Pi. Folgen Sie einfach diesen Schritten:
- Öffnen Sie den Windows Explorer und klicken Sie mit der rechten Maustaste auf „Dieser PC“.
- Wählen Sie im Kontextmenü die Option „Netzlaufwerk verbinden“.
- Wählen Sie einen freien Laufwerksbuchstaben aus dem Dropdown-Menü aus, zum Beispiel W:.
- Klicken Sie auf den Button „Durchsuchen“ und navigieren Sie zu dem Gerät und dem Ordner, den Sie einbinden möchten. In meinem Fall ist das der Ordner 320gb-1 auf dem Gerät RASP.
- Klicken Sie auf „OK“. Der Pfad zu dem Ordner sollte nun im Formularfeld angezeigt werden.
- Klicken Sie auf „Fertig stellen“. Das Netzwerklaufwerk sollte nun als Windows Ordner unter „Dieser PC“ erscheinen, zum Beispiel als 320gb-1 (\\Rasp) (W:).
- Wenn Sie möchten, können Sie den Ordner umbenennen, indem Sie ihn auswählen und die Taste F2 drücken oder mit der rechten Maustaste darauf klicken und „Umbenennen“ wählen.
Sie haben nun erfolgreich ein Netzwerklaufwerk als Windows Ordner eingebunden. Sie können darauf zugreifen wie auf jeden anderen Ordner und Dateien kopieren, verschieben oder löschen.
Pi-Hole einrichten
Um Pi-Hole einzurichten, müssen wir uns in portainer einloggen, über unsere Adresse „rasp.local:9443“ und benötigen auch eine Putty Instanz.
Um Portainer zu konfigurieren, müssen wir zuerst auf das Gerät zugreifen, auf dem es installiert ist. Dazu verwenden wir SSH (Secure Shell), ein Protokoll, das uns eine sichere Verbindung ermöglicht. Wir müssen auch herausfinden, welche Netzwerkschnittstellen auf dem Gerät vorhanden sind und den Namen des Adapters notieren. Dazu führen wir den folgenden Befehl aus und notieren den Namen der Netzwerkschnittstelle, die die IP-Adresse unserer Portainer-Instanz hat (in diesem Beispiel ist es eth0).
Um an die Information heranzukommen, geben
ifconfig
in Putty ein.
Als Nächstes müssen Sie den folgenden Befehl ausführen und dabei das richtige Subnetz (die meisten sind standardmäßig 192.168.1.0/24) und die Netzwerkschnittstellen-ID (meine ist eth0) ersetzen. Sie müssen auch eine IP-Adresse auswählen, die Sie verwenden möchten und die derzeit nicht in Gebrauch ist. Ich werde 192.168.1.195 verwenden. HINWEIS: ph_network ist der Name des Netzwerks (Sie können diesen nach Belieben ersetzen). Die unten aufgeführten Elemente müssen möglicherweise aktualisiert werden, wenn Sie diesen Befehl ausführen.
sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.195/32 ph_network
Das Netzwerkinterface ist jetzt eingerichtet. Machen Sie mit dem nächsten Schritt weiter, um Pi-hole auf Portainer zu konfigurieren!
Pi-Hole auf Portainer installieren
Stellen Sie sicher, dass Portainer installiert ist, und greifen Sie dann auf die Verwaltungsschnittstelle zu. Öffnen Sie Portainer und wählen Sie Volumes.
Wählen Sie Add Volume aus und fügen Sie zwei Gesamtvolumen hinzu. Eines mit dem Namen etc-pihole und eines mit dem Namen etc-dnsmasq.d.
Diese Volumen enthalten alle wichtigen Konfigurationsdaten für Pi-hole. Wenn Sie also diesen Container jemals auf ein separates Gerät verschieben möchten, kopieren Sie den Inhalt dieser Ordner auf das neue Gerät und Ihre gesamte Konfiguration wird dort vorhanden sein! Dies sind auch die Daten, die gesichert werden sollten.
Wähle „Containers“ aus und klicke „Add container“ an.
- Gib dem Container einen Namen und gib dann im Abschnitt Bild pihole/pihole:latest ein.
- Wählen Sie fünfmal die Option „Einen neuen Netzwerkport veröffentlichen“ aus und ordnen Sie die Ports wie im folgenden Screenshot gezeigt zu. Stellen Sie sicher, dass Sie die beiden oberen Ports (53, 67) als UDP-Ports festgelegt haben.
- Wähle Volumes aus und klicke zweimal auf zusätzliches Volume zuordnen. Gib den ersten Container als /etc/pihole ein und wähle das Volume /etc/pihole aus. Gib den zweiten Container als /etc/dnsmasq.d ein und wähle das Volume /etc/dnsmasq.d aus.
Im Netzwerk-Tab wählen Sie die macvlan-Netzwerkschnittstelle aus, die wir zuvor erstellt haben. (ph_network)
Im Abschnitt Env geben Sie die beiden Variablen aus dem folgenden Screenshot ein. Stellen Sie sicher, dass Sie den WEBPASSWORD-Wert durch das Passwort ersetzen, das Sie zum Zugriff auf Pi-Hole verwenden möchten. Ändern Sie außerdem den ServerIP-Wert so, dass er mit der IP-Adresse der macvlan-Netzwerkschnittstelle übereinstimmt.
In der Restart policy ändern Sie dies in Always. Dies zwingt Pi-Hole, immer zu starten, wenn Docker/Portainer startet.
Wählen Sie Deploy the container aus. Der Container wird einige Minuten benötigen, um vollständig heruntergeladen und installiert zu werden, aber wenn er fertig ist und läuft, können Sie die Pi-Hole-Webverwaltungsoberfläche mit der ServerIP-Adresse aufrufen, die Sie zugewiesen haben!
Und die hinterlegte IP eingeben:
http://192.168.1.195
und Pi-Hole sollte starten:
DNS Konfiguration
Jetzt, wo die Einrichtung von Pi-hole abgeschlossen ist, müssen wir einen Weg finden, um unsere Clients auf unseren DNS-Server zu verweisen. Es gibt zwei Möglichkeiten, dies zu tun:
Richten Sie den DNS-Server Ihres Routers auf die IP-Adresse Ihres Pi-hole-Servers. Dies stellt sicher, dass jedes verbundene Gerät Pi-hole als DNS-Server verwendet.
Richten Sie jeden Client auf Ihren DNS-Server. Dies ist vorteilhaft, wenn Sie nur bestimmte Clients Pi-hole als DNS-Server verwenden lassen möchten.
Ich richte die DNS-Server meines Routers auf meinen Pi-hole-Server, da ich sicherstellen möchte, dass jedes Gerät eine Verbindung zu ihm herstellt.
Und noch einmal unter Internet\Zugangsdaten\DNS-Server
Plex den Media Server installieren
Unter plex.tv/claim lassen wir uns einen Code generieren, den wir uns merken. Falls noch kein Account vorhanden ist, erst einmal anmelden.
Für die Plex-Installation benötigen wir wieder Portainer und rufen dies über https://rasp.local:9443/
Zertifikat wieder unter „erweitert“ abklicken, dann kommt man auf Portainer.
Name: „Plex“
Image docker.io: „linuxserver/plex:latest“
Unter Advanced container settings\ENV, 4x auf „Add an environment variable“
Unter
name: PUID value: 1000
name: PGID value: 1000
name: VERSION value: docker
name: PLEX_CLAIM value: generierten Code hier rein
Die Freigaben der Festplatten hatten wir unter OpenMediaVault eingerichtet. Auf einer der Festplatten lege ich nun Plex\Filme | Plex\Serien an | Plex\config für die Konfigurationsdateien von Plex.
Jetzt müssen wir noch den Pfad zu der gemounteten Festplatte und dem freigegebenen Ordner heraussuchen. Dazu müssen wir uns in OpenMediaVault rasp.local
einloggen Und in Storage \ Shared Folders wechseln. In meinem Fall ist es die 500-GB-Festplatte mit dem Pfad: /srv/dev-disk-by-uuid-a485986f-0dda-4070-9639-bc363c056d08/500GB
Wir merken uns nun all die Daten und wechseln wieder zu Portainer in die „Advanced container settings“ in den Reiter Volumes, erstellen 2x „map additional volume“ und klicken rechts davon jeweils „Bind“ ab.
container: /config | bind
host: /srv/dev-disk-by-uuid-a485986f-0dda-4070-9639-bc363c056d08/500GB/plex/config
container: /Filme | bind
host: /srv/dev-disk-by-uuid-a485986f-0dda-4070-9639-bc363c056d08/500GB/plex/filme
container: /Serien | bind
host: /srv/dev-disk-by-uuid-a485986f-0dda-4070-9639-bc363c056d08/500GB/plex/serien
Die „Restart policy muss noch auf „Unless stopped“ gestellt werden.
Jetzt auf „deploy the container“ klicken.
Plex sollte nun über rasp.local:32400
erreichbar sein. Sollte hier in einem seltenen Fall! Eine XML-Wüste entstehen, kann man dies mit rasp.local:32400/manage
, mit hoher Wahrscheinlichkeit fixen. Fertig mit der Installation.
Plex für das Streaming einrichten
Druckserver einrichten
Zuerst müssen wir wieder auf die Portainer Containers Übersichtsseite und „add Container“ klicken.
Bei Name: DruckerServer
Image docker.io: lemariva/rpi-cups:latest
Überprüfe bitte, ob „Always pull the image“ aktiv ist.
Anschließend „publish a new network port“ klicken
bei host 631 und container 631 eintragen, zum Schluss auf TCP klicken
Gehe zu „Advanced container settings“ \ „Volumes“ und klicke 2x auf „map additional volume“ und klicke rechts neben container jeweils auf „Bind“
Bei container /var/run/dbus
und bei host /var/run/dbus eintragen
im zweiten Feld
Bei container /dev/bus/usb
und bei host /dev/bus/usb eintragen.
Gehe zu „Restart policy“ und wähle „Unless stopped“ aus.
Gehe zu „Runtime & Resources“ und wähle „Privileged mode“ aus.
Zum Schluss etwas hochscrollen und auf „Deploy the container“ klicken.
Mit rasp.local:631
kann nun der Drucker Server gestartet werden.
Nutzername: print
Passwort: print
Fazit
Es war ein spannendes Projekt, die Konstruktion, die Ausführungen aus einem PI einen kleinen Homeserver zu machen, der sich nicht verstecken braucht. Der geminderte Trafficverbrauch im Netzwerk ist zu spüren und auch die alten Serien jederzeit abrufbar zu haben ist ein schönes Gefühl. Besonders die konstante Erreichbarkeit der Daten auf allen Endgeräten lässt die Produktivität steigern. Kein Stick gesuche, geschiebe und hoffen die richtige Datei zu nutzen, ist sehr befreiend.
Der Raspberry PI in seiner Version 1 läuft mittlerweile seit über 2 Jahren in diesem Haus, die Version 2 ist nun für Euch. Viel Spaß damit.
Das Entwickeln dieses Gehäuse und die Einrichtung des Servers war weniger aufwendig, als die Erstellung dieses Postes hier, es würde mich sehr freuen Euer Setup in den sozialen Medien sehen zu können, nutzt doch dafür den Hashtag #3ddruckarchiv.