Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Homarr ist eine Dashboard-Software, mit der man unter anderem die Anwendungen auf seinem Server im Überblick haben kann. Man kann aber auch sehr viel selbst personalisieren. So lassen sich z. B. auch Links zu Webseiten oder Webseiten selbst über iframes einbinden.
Installation von Homarr in Portainer
In Portainer erstelle ich einen neuen Dockercontainer. Diesem gebe ich einen Namen. Die URL des Images muss im „Advanced mode“ angegeben werden. Sie lautet ghcr.io/ajnart/homarr:latest.
Als Port muss der Port 7575 im Container freigegeben werden. Als Host-Port verwende ich in diesem Fall 40083.
Anschließend erstellen wir insgesamt 4 Bind-Volumes. Der Pfad vom Host ist bei den ersten 3 frei wählbar und muss vorher erstellt werden. In meinem Fall liegen sie alle im Ordner „docker_data“ meines Homeverzeichnisses.
Jetzt kann der Container mit „Deploy Container“ erstellt werden.
Erster Start
Homarr ist jetzt unter der IP-Adresse auf dem gewählten Port erreichbar. Zuerst sieht man einen Willkommensbildschirm:
Das im nächsten Screen vorgeschlagene Update brauchen wir nicht. Wir können gleich mit „Continue“ weitermachen.
Anschließend lässt sich ein Admin-Benutzer anlegen
Mit „go to yout board“ im nächsten Schritt können wir die Installation abschließen.
Jetzt sieht man das Dashboard von Homarr. Als Erstes wechsle ich in den Darkmode.
Unter dem Zahnrad kann man allgemeine Einstellungen für das Dashboard vornehmen. Ich aktiviere dort die linke Sidebar und die Pings.
Nachdem ich diese Einstellung gespeichert habe, wechsle ich mit dem Stift in den Bearbeitungsmodus. Die Uhr und das Wetter ziehe ich in die Sidebar. Alles andere lösche ich.
Im restlichen Bereich sollten später alle Programme aufgelistet sein, die auf meinem Server laufen. Diese werden in Homarr als „App“ erstellt.
Ich nenne meine App „Openmediavault“ und Homarr erkennt automatisch, um welche Software es sich handelt und bietet mir gleich das richtige Icon an.
Dort gebe ich noch die Adresse zu meiner OMV-Instanz an und kann anschließend speichern.
Auf dem Dashboard sieht man jetzt die Openmediavault App und unten rechts einen grünen pulsierenden Punkt. Dieser zeigt an, dass Openmediavault gerade läuft und erreichbar ist. Mein Dashboard ist jetzt noch relativ leer, aber mit der Zeit wird es sich schon noch füllen.
Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Auf meinem zuvor eingerichteten Ubuntu Server installiere ich nun Docker. Die Installation ist in der Dokumentation von Docker sehr gut erklärt. Die dort aufgeführten Befehle kann man so eins zu eins ins Terminal kopieren und ausführen, also:
Die Admin-Seite von ist jetzt unter https://IP_ADRESSE:9443 erreichbar. Dort lässt sich ein Admin-Konto mit Passwort anlegen.
Im nächsten Screen klicke ich auf „Get startet“, da ich Portainer nur für meine lokale Docker Instanz verwenden möchte.
Unter „local“→“Containers“ sieht man alle Dockercontainer. Bisher eben nur einen einzigen – nämlich Portainer selbst.
Leitet man Ports von einem Container an den Host weiter, so werden diese Ports in der Übersicht (Bild oben) klickbar dargestellt. Standardmäßig zeigen diese Links aber auf die IP-Adresse „0.0.0.0“. Das kann man ändern unter „Settings“→“Environments“→“local“. Dort kann man seine IP-Adresse angeben. Dann funktionieren die Links in der Übersicht auch.
Portainer und Docker sind jetzt fertig. Wir können jetzt unsere Container bequem in der grafischen Oberfläche erstellen und konfigurieren. Als ersten Container installiere ich homarr, eine Dashboard-Software, damit ich alle meine Programme im Überblick habe.
Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Das Erstellen der VM läuft praktisch gleich wie bei Openmediavault, nur, dass ich dieses Mal ein Ubuntu Server 22.04 nehme und diesem 4 Kerne, 256 GB Speicher und 16 GB RAM gebe.
Installation von Ubuntu Server
Im Ubuntu-Installer angekommen, wählt man zunächst die Sprache
Danach werde ich gefragt, ob ich den Installer updaten möchte. Das mache ich.
Anschließend lässt sich das Tastaturlayout wählen:
Als Installationsart wähle ich das normale Ubuntu Server
Jetzt gibt es die Möglichkeit, die Netzwerkverbindung zu konfigurieren. Hier lege ich gleich eine feste IP-Adresse fest. Unter meiner Netzwerkkarte unter „Edit IPv4“ konfiguriere ich diese.
Der eingestellte Paketspiegelserver passt für mich. Nachdem der Test erfolgreich war, klicke ich auf „Done“.
Bei der Partitionierung sollte es wieder nur ein Gerät zur Auswahl geben. Hier nehme ich den Haken bei „LVM Group“ raus.
Als Nächstes wird nochmal eine Zusammenfassung der Partitionierung gezeigt, sodass man überprüfen kann, welche Geräte evtl. gelöscht werden.
Während im Hintergrund das System schon installiert wird, wird man nach Benutzername, Passwort und Hostname des Servers gefragt.
Ubuntu Pro möchte ich vorerst nicht benutzen. Auch weitere Software brauche ich zunächst nicht.
Sobald die Installation fertig ist, erscheint oben ganz unscheinbar „Install complete!“. Bevor ich neu starte, entferne ich im Menü „Hardware“ wieder die ISO.
Sobald Ubuntu wieder gestartet ist, kann ich mich von meinem PC aus über SSH mit ssh benutzername@IP_Adresse anmelden.
Updates installieren
Per SSH im Terminal angekommen, installiere ich nun Updates mit
1
sudo apt update&&sudo apt upgrade
VM automatisch beim Booten starten
Startet man jetzt den Server neu, so startet die VM nicht automatisch neu. Das kann man ändern, indem man unter „Optionen“ den Punkt „Beim Booten starten“ auf ja setzt.
Ubuntu ist jetzt fertig installiert. Im nächsten Schritt werde ich Docker auf Ubuntu installieren.
Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Die ISO von OMV kann hier heruntergeladen werden. Von dort kopiere ich den Link zur ISO. Man braucht nämlich nicht die ISO zuerst herunterladen, um sie dann wieder auf den Server hochzuladen, sondern kann sie direkt auf den Server herunterladen.
Dazu geht man im Proxmox-Interface auf den Speicher „local“ und wählt „ISO-Images“. Dort klickt man auf „Von URL herunterladen.
Dort kann man dann die URL zum ISO-Image angeben. Nach einem Klick auf „URL abfragen“ kann man es mit „Herunterladen“ herunterladen.
Sobald im Ausgabefenster „TASK OK“ erscheint, kann man dieses schließen
Um die virtuelle Maschine zu erstellen, wählt man ganz oben rechts den Punkt „Erstelle VM“.
Im ersten Fenster gebe ich der VM einen Namen und eine ID.
Anschließend wähle ich aus dem Storage „local“ die eben heruntergeladene ISO.
Unter „System“ belasse ich alles auf Standardeinstellungen.
Unter „Disks“ ebenso
Unter „CPU“ könnte ich der VM mehr Kerne geben. Ein Kern reicht mir in diesem Fall aber aus.
Unter „Speicher“ sind standardmäßig 2 GB eingestellt. Ich erweitere auf 4 GB.
Auch „Netzwerk“ belasse ich auf Standardeinstellungen.
Nun bekommt man noch eine Zusammenfassung und kann dann die VM erstellen. Unter unserem Server erscheint jetzt die VM mit ihrer ID. Mit einem Klick auf „Start“ kann man diese starten.
Unter Konsole kann man dann die Installation von OMV durchführen.
Installation von Openmediavault
Der Punkt „Install“ wird automatisch ausgewählt.
Nach der Angabe von Sprache, Land und Tastaturlayout lässt sich der Hostname und das Root-Passwort wählen.
Als Nächstes wählt man das Land für den Paket-Spiegelserver und den Spiegelserver selbst. Als Spiegelserver verwende ich „ftp.de.debian.org“. Einen Proxy verwende ich nicht.
Als Medium für die Installation hat man im besten Fall nur eine einzige Auswahl. Hat man dieses gewählt, kann die Installation gestartet werden.
Wenn die Installation abgeschlossen ist, erscheint dieses Fenster:
Bevor man auf „weiter“ klickt, sollte man das Installationsmedium entfernen. Dies funktioniert in Proxmox, indem man unter dem Punkt „Hardware“ das CD-Laufwerk mit dem OMV-ISO wählt und dieses dort entfernt.
Anschließend wechselt man wieder zurück in die Konsole und bestätigt den Neustart. Wenn OMV wieder gestartet ist, erscheint folgendes Anmeldefenster:
Die dort angegebene IP-Adresse öffnen wir im Browser und loggen uns mit den Standardanmeldedaten ein. (Username: „admin“; Passwort: „openmediavault“)
Festlegen einer statischen IP-Adresse
Der erste Schritt, den ich gemacht habe, ist es, Openmediavault eine statische IP-Adresse zu geben. Dazu wählt man im Punkt „Netzwerk“ den Unterpunkt „Schnittstellen“, dort das einzige vorhandene Gerät und klickt auf den Stift zum Bearbeiten.
Unter IPv4 wählt man nun die Methode „statisch“ und trägt IP-Adresse, Netzmaske und Gateway ein.
Wichtig ist auch, dass man etwas weiter unten unter „Erweiterte Einstellungen“ den DNS-Server angibt. Sonst kann man keine Aktualisierungen oder Erweiterungen mehr installieren.
Nach einem Klick auf Speichern muss man die Änderung noch bestätigen.
Openmediavault ist anschließend mit der neuen IP-Adresse zu erreichen.
Updates von Openmediavault
Updates können unter „System“→ „Aktualisierungsverwaltung“→“Aktualisierungen“ installiert werden.
Sobald das Update fertig ist, wird dies mit einem „END OF LINE“ im Terminal bestätigt. Dieses kann man jetzt schließen und OMV neustarten.
Ändern des Standardpassworts
Spätestens jetzt sollte man mal auf die Idee kommen, das (unsichere) Passwort zu ändern. Das kann man in den Benutzereinstellungen tun.
Durchreichen der Festplatte
Theoretisch könnte ich mit virtuellen Festplatten arbeiten. Da ich aber das Management der Festplatten komplett Openmediavault überlassen möchte, reiche ich die gesamte Festplatte als USB-Gerät durch. Das kann man unter „Hardware“→“Hinzufügen“→“USB-Gerät“ machen. Hier wähle ich unter „Geräte ID“ meine Festplatte aus.
Unter „Datenspeicher“→“Laufwerke“ in OMV erscheint dann meine Festplatte.
Diese lösche ich zuerst mit dem Radiergummi und anschließend stelle ich die Spindown-Zeit auf 10min. Ob das so richtig ist, wie ich das mache, weiß ich nicht. Mal ausprobieren…
Anschließend erstelle ich unter „Datenspeicher“→ „Dateisysteme“ ein neues ext4 Dateisystem auf der Festplatte.
Soweit der Plan. Beim Erstellen der „inode tables“ pendelte sich aber mit der Zeit eine Geschwindigkeit von ca. 1 Inode pro Sekunde ein. Das macht bei noch 23000 fehlenden Inodes…. 6 Stunden! So lange wollte ich dann auch wieder nicht warten. Also habe ich die VM heruntergefahren und die Festplatte an meinen PC angeschlossen. Dort konnte ich innerhalb von wenigen Sekunden ein ext4 Dateisystem auf der Festplatte erstellen.
Erstellen des Dateisystems mit Ubuntu
Einbinden eines vorhandenen Dateisystems in Openmediavault
Die Festplatte wieder am Server angesteckt, habe ich Openmediavault wieder gestartet.
Dort lässt sich unter „Datenspeicher“→ „Dateisysteme“ auch ein vorhandenes Dateisystem mit dem „Play“ Button einbinden.
Aktivieren der Freigabedienste
Unter „Dienste“ lassen sich die einzelnen Freigabedienste wie NFS, SSH oder SMB sehr einfach aktivieren. Ich benötige außerdem noch ftp. Dieses ist als Add-on unter „System“→“Erweiterungen“ verfügbar und kann dort installiert werden.
Jetzt lässt sich auch der FTP-Server aktivieren.
Erstellen eines Benutzers
Damit man auf die Freigaben zugreifen kann, braucht man einen Benutzer. Dieser kann unter „Benutzer“→“Benutzer“ angelegt werden.
Erstellen einer Freigabe
Eine Freigabe lässt sich jetzt unter „Datenspeicher“→“Freigegebene Ordner“ erstellen. Dort lässt sich ein Name und Zugriffsrechte festelgen.
Um den freigegebenen Ordner über die Dienste jetzt auch zu erreichen, muss die Freigabe für jeden Dienst nochmal separat angelegt werden:
Erstellen einer Freigabe am Beispiel SMBErstellen einer Freigabe am Beispiel FTP
Einstellung der Zugriffsrechte für einen Benutzer
Unter dem Punkt „Zugriffsrechte“ lassen sich jetzt noch die Zugriffsrechte für einen freigegebenen Ordner festlegen.
VM automatisch beim Booten starten
Startet man jetzt den Server neu, so startet die VM mit Openmediavault nicht automatisch neu. Das kann man ändern, indem man unter „Optionen“ den Punkt „Beim Booten starten“ auf ja setzt.
Openmediavault ist jetzt fertig konfiguriert. So habe ich, oder je nachdem wie ich es brauche, auch die VMs und andere Geräte, Zugriff auf die Festplatten.
Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Proxmox kann man sich hier herunterladen. Anschließend habe ich die ISO auf einen Ventoy-Stick kopiert und das Proxmox ISO auf dem Mini-PC mit angeschlossener Maus, Tastatur und Monitor gestartet. Bei dem Versuch, die Installation zu starten, bekam ich allerdings eine Fehlermeldung.
Fehlermeldung von Proxmox 8.1 in Kombination mit Ventoy
Dies scheint in der Kombination mit Ventoy und Proxmox in Version 8.1 ein bekanntes Problem zu sein. Also musste ich das ISO direkt mit Etcher auf einen USB-Stick schreiben.
Dann konnte ich die Proxmox Installation auch starten. Nach einem Klick auf „Install Proxmox VE“ musste ich zuerst die Nutzungsbedingungen akzeptieren.
Start der Proxmox InstallationAkzeptieren der Nutzungsbedingungen
Anschließend konnte ich die Festplatte, auf die Proxmox installiert werden soll, das Land, die Zeitzone und das Tastaturlayout festlegen.
Auswahl der InstallationsfestplatteAuswahl von Land, Zeitzone und Tastaturlayout
Jetzt muss noch ein Passwort und eine E-Mail-Adresse, die zum Zurücksetzen des Passworts verwendet werden kann, angegeben werden.
Als Letztes muss man noch das Netzwerk konfigurieren. Hier legt man auch eine feste IP-Adresse fest. Das heißt, dass diese so gewählt werden sollte, dass sie außerhalb des DHCP-Bereichs des Routers liegt. In meinem Fall ist das alles ab 192.168.178.201.
Netzwerkkonfiguration
Als Allerletztes erhält man nun noch eine Zusammenfassung von dem, was man eingegeben hat. Nachdem man das überprüft hat, kann man die Installation starten.
Zusammenfassung der Installation
Nach der Installation startet der Server automatisch neu. Man gelangt in dieses Anmeldefenster:
Anmeldefenster nach erfolgreicher Proxmox-Installation
Jetzt können Maus, Tastatur und Monitor vom Server getrennt werden. Alles Weitere folgt nun im Browser unter der URL, die im Anmeldefenster angegeben ist, also: https://IP_DES_SERVERS:8006
Konfiguration der Paketquellen in Proxmox
Unter der angegebenen URL kommt man auf die Oberfläche von Proxmox. Sehr wahrscheinlich muss man vorher noch eine Sicherheitswarnung wegklicken (unter „erweitert“).
Sicherheitswarnung im Browser
Dann kann man sich mit dem Benutzernamen „root“ und dem bei der Installation gewählten Passwort anmelden. Dabei kann man auch gleich die Sprache auf Deutsch einstellen.
Anmeldung in Proxmox
Anschließend kommt eine Meldung, die mir sagt, ich hätte keine gültige Subscription. Diese Meldung kann ich ebenfalls ignorieren, da ich Proxmox nur privat und nicht kommerziell nutze.
Keine gültige Subscription
Links findet man jetzt sein Rechenzentrum in einer Baumstruktur. Darin befindet sich – wie überraschend – ein Server. Klickt man auf diesen Server und dann auf „Übersicht“ erhält man Informationen wie CPU Auslastung, RAM Auslastung, usw.
Übersicht des Servers in Proxmox
Um die Paketquellen für unseren Server ohne Subscription einzurichten, wechseln wir in die Shell und öffnen mit dem Editor nano die Datei /etc/apt/sources.list.
sources.list bearbeiten mit nano
Darin fügen wir die Zeile
1
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
ein. Die Datei kann man mit Strg+O speichern und mit Strg+x kann man den Editor wieder schließen.
In den Dateien /etc/apt/sources.list.d/ceph.list und /etc/apt/sources.list.d/pve-enterprise.list muss noch die (einzige) Zeile auskommentiert werden.
Die genauen Namen der einzufügenden Zeilen können sich mit der Zeit ändern. Es gibt von Proxmox einen Dokumentationseintrag, der die Paketquellen beschreibt und immer aktuell sein sollte.
Proxmox aktualisieren
Um Proxmox zu aktualisieren, drückt man zuerst unter „Updates“ auf den Button „Aktualisieren“. Das entspricht einem apt-get update im Terminal.
Update
Ist das Update fertig, wählt man „Upgrade“. Das entspricht einem – wer hätte es gedacht – apt-get upgrade im Terminal. In einem neuen Fenster öffnet sich das Terminal und evtl. muss man das Upgrade noch mit einem „Y“ bestätigen.
UpgradeBestätigung des Upgrades
Nach einem Update ist ein Neustart sinnvoll. Diesen kann man einfach über den Button „Reboot“ machen:
Neustart
Jetzt ist Proxmox auf dem neusten Stand und wir sind bereit für die Installation der ersten VM!
Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.
Es sollte ein Mini-PC sein, der möglichst wenig Strom braucht, aber trotzdem gut Leistung hat. Dabei fiel meine Wahl auf einen „ECS Elitegroup LIVA Z3 Plus„. Dieser hat einen i5 aus dem Jahr 2019 mit nur 15W TDP und ist für ~200 € zu haben.
Dazu brauchte ich noch eine SSD. SSD-Speicher ist ja in den letzten Jahren sehr billig geworden. Deshalb durften es 500 GB schon sein. Ich entschied mich für eine „Crucial P3„
Arbeitsspeicher braucht der PC auch noch. Maximal sind 64 GB möglich. Ich brauche zwar viel, da ich vermutlich mehrere VMs laufen lassen möchte, 64 GB wären aber schon sehr viel. 32 GB RAM sollten reichen. (Vorher hatte ich 8 GB)
Als Letztes brauchte ich noch eine große Festplatte. Ich habe zwar bereits eine, die reicht mit ihrem einen Terabyte aber kaum mehr aus, da sie mittlerweile Speicher für Nextcloud, Überwachungskameraaufnahmen (inkl. Aufnahmen der Nistkastenkamera), Medien für meinen Jellyfin-Server und Backups meines PCs und des Servers ist. Außerdem möchte ich häufige Aufnahmen, die ständig überschrieben werden (Überwachungskamera) aus Datensicherheitsgründen getrennt haben von wichtigen Dateien wie die der Nextcloud. Dabei fiel meine Wahl auf eine externe 4 TB 3,5″ Festplatte.
Zusammenbau
Im Lieferumfang des Mini-PCs enthalten sind der Mini-PC selbst, das Netzteil, Schrauben, ein Wärmeleitpad dessen Sinn ich noch nicht verstanden habe, eine Halterung, um den PC per VESA-Halterung an einem Monitor zu befestigen und eine Anleitung.
Verpackung des Mini-PCsLieferumfang des Mini-PCs
Der Zusammenbau ist nicht kompliziert. Der Mini-PC lässt sich mit 4 Schrauben öffnen. Dann kann man den RAM und die SSD wie gewohnt einbauen.
Öffnen des Mini-PCsGeöffneter Mini-PCMini-PC mit eingebautem RAM und SSD
Test mit Ubuntu
in Ubuntu angekommen wollte ich zunächst ausprobieren, ob alles an Hardware korrekt erkannt wurde. Das war zunächst nicht der Fall. Von der SSD war nichts zu sehen. Also habe ich den Rechner nochmal aufgeschraubt und gesehen, dass die SSD nicht komplett eingerastet war. Das ging hier etwas schwerer als gewohnt.
CPU und RAM wird erkanntSSD wird erkanntHDD wird erkannt
Anschließend wollte ich noch mit dem Programm „cpuburn“ testen, wie warm der PC unter Volllast wird. Mittels
1
sudo apt update&&sudo apt install lm-sensors
und anschließendem
1
sudo senosrs-detect
konnte ich dann mit
1
sensors
die Temperatur auslesen. Diese bewegte sich nach einigen Minuten bei knapp 80 °C. Das ist in Ordnung. Ein
1
cat/proc/cpuinfo|grep"MHz"
ergab, dass alle Kerne auf stabilen 2,8GHz takten. Es finden also anscheinend keine Drosselung aufgrund der Temperatur statt.
Der Rechner ist, besonders unter Last, übrigens recht laut. Da er bei mir im Keller stehen wird, macht mir das nichts aus. Als Desktop-Rechner kann ich ihn aber nicht empfehlen.
Heute Morgen habe ich mich an ein Problem gesetzt, das ich schon länger habe: Wie bekomme ich die Daten meiner Solaranzeige in Homeassistant? Oder ist es vielleicht sinnvoller, die Homeassistant SolarEdge Modbus Integration zu verwenden und die Daten dann von Homeassistant in die InfluxDB zu schicken? Ich habe mich für die erste Variante entschieden. Dabei ist ein kleines PHP Programm entstanden. Dort gibt man einen MQTT „Block“ ein und heraus kommt dabei eine fertige Homeassistant Konfiguration, die man nur noch kopieren muss. Eine ausführlichere Anleitung wie’s funktioniert ist auch dabei.
Vor knapp zwei Jahren habe ich einen Beitrag darüber veröffentlicht, wie ich meine Mobile Alerts Temperatursensoren per Weboberfläche mit einem Pythonskript auslese. Diese Variante funktionierte bei mir und funktioniert immer noch ohne Probleme. Letztens bin ich aber auf eine andere Möglichkeit gestoßen, die mir deutlich besser gefällt, da sie zuverlässiger und unabhängig von der Cloud ist. Mit einem Proxy, der zwischen den Gateway und das Internet geschalten wird, können die Daten abgefangen und weiter verarbeitet werden. Hierfür gibt es das Programm „maserver„. Es nimmt auch direkt die Einstellungen am Gateway vor. Dieses sendet die Daten anschließend an einen MQTT Broker. Bei mir läuft es auf einem RaspberryPi mit Ubuntu Server 22.04.
Vorbereitungen
Auf dem Server müssen zunächst nodejs und npm installiert werden:
Im Ordner „MMMMobilealerts“ befindet sich jetzt der maserver.
Konfiguration
Darin befindet sich die Datei „config-example.json“. Benenne diese in „config.json“ um. Folgende Konfigurationsmöglichkeiten gibt es:
localIPv4Address: Die IP-Adresse des Geräts, auf dem der Proxy läuft. Wird nur benötigt, wenn es mehrere IP-Adressen hat, z. B. wenn es über mehrere Netzwerkschnittstellen angebunden ist oder Docker oder ein VPN Server darauf läuft.
mqtt: Die Adresse zum MQTT Broker.
mqtt_home: Das Topic, in dem die Daten auf dem MQTT Broker gesendet werden sollen.
installiert, während man sich im „maserver“ Verzeichnis befindet.
Start
Gestartet werden kann das Programm mit:
1
node mobilealerts.js
Es findet automatisch den Gateway im Netzwerk und konfiguriert sich selbst im Gateway als Proxy. Nach spätestens 15 Minuten sollten die ersten Daten zu sehen sein.
Daten an Homeassistant senden
Im Homeassistant fügen wir zuerst die MQTT Integration unter „Einstellungen“->“Geräte und Dienste“->“Integration Hinzufügen“ hinzu.
Die Konfiguration der einzelnen Sensoren erfolgt dann über die configuration.yaml Datei und sieht beispielsweise so aus:
Seit einigen Jahren suchte ich schon nach einer Lösung, Hostnames im lokalen Netzwerk mit Pi-Hole korrekt aufzulösen. Nun bin ich selbst auf eine Lösung gekommen.
1. Möglichkeit: Conditional Forwarding
Diese Möglichkeit hatte ich einige Zeit, ich war damit aber nie so wirklich zufrieden, da immer hinter den Hostnames ein .fritz.box ergänzt werden musste, also z.B. raspberrypi.fritz.box.
Bei „Settings“ > „DNS“ > „Advanced settings“ muss man dazu folgende Punkte einstellen:
Unter „Never forward non-FQDNs“ und „Never forward reverse lookups for private IP ranges“ keinen Haken setzen.
Unter „Use Conditional Forwarding“ einen Haken setzen.
Den Bereich des lokalen Netzwerkes eingeben, zum Beispiel 192.168.178.0/24. /24 steht für x.x.x.1 bis x.x.x.255.
Die IP Adresse des DHCP Servers, meist der Router, eingeben, z.B. 192.168.178.1.
Als Local Domain Name verwende ich fritz.box
2. Möglichkeit: Der Router als einziger DNS Server
Diese Möglichkeit funktionierte bei mir schon besser. Bei „Settings“ > „DNS“ > „Advanced settings“ muss man dazu folgende Punkte einstellen:
In dem linken Kasten „Upstream DNS Servers“ alle Haken rausnehmen.
Im rechten Kasten „Upstream DNS Servers“ Als Custom 1 und Custom 3 die IP Adressen (IPV4 und IPV6) der Fritzbox bzw. des Routers eintragen.
Achtung: Arbeiten an 230V darf nur von Elektrofachpersonal durchgeführt werden!
Bilder vom Zusammenbau
Versorgt wird der ganze Homeserver mit 230V. Diese gehen zuerst durch den Zähler, dann an eine Steckdose, an der der Überspannungsschutz und dann ein Mehrfachstecker angeschlossen ist. An dieser hängt das Netzteil für den Pi und das Netzteil für die HDD. Das 5V Netzteil hat zwei Ausgänge, einen verwende ich nur für den Pi, den anderen für alles andere.
Das Display ist mit 3,3V und I2C (Pin 3 und 5) angeschlossen. Onewire Sensoren, die die Temperatur der Wärmepumpe kontrollieren sind ebenfalls mit 3,3V und Onewire (Standard Pin 7) angeschlossen. Die Relais laufen mit 5V und beliebigen GPIOs. Die S0 Schnittstelle des Stromzählers ist an einen freien GPIO angeschlossen. Die HDD, SSD und der Modbus Adapter, der Stromzähler überwacht sind per USB angeschlossen (HDD und SSD an USB3, Modbus an USB2).
Bilder vom fertigen Homeserver (mangels Tageslicht etwas unscharf)
Software
Zur Software möchte ich gar nicht so viel sagen. Auf dem Raspberry läuft Raspbian 10 und: