Schlagwort: Ubuntu

Ein Upgrade für den Homeserver Teil 12 – Mosquitto

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.


Übersicht aller Artikel dieser Serie


Was ist MQTT?

MQTT ist ein Übertragungsprotokoll, das besonders Anwendung im IoT-Bereich findet. Dabei gibt es eine Zentrale, den Broker. Möchte man als Client etwas senden, so sendet man diese Nachricht unter einem Topic zuerst an den Broker. Das nennt man dann publish. Möchte man als Client etwas empfangen, so kann man bestimmte topics beim Broker abonnieren. Das nennt man subscribe. Das hat den Vorteil, dass Sender und Empfänger sich nicht kennen müssen, sondern nur jeweils den Broker. Die Topics sind mit „/“ aufgebaut, zum Beispiel „sensoren/küche/raumtemperatur“. Wenn man jetzt „sensoren/#“ subscribed („#“ steht für „alles“), dann bekommt man die Daten aller Sensoren. Subscribed man „sensoren/küche/#“, dann nur die der Sensoren in der Küche, usw.

Was ist Mosquitto?

Mosquitto bietet sowohl einen Client, um auf einen MQTT Server zuzugreifen, als auch den MQTT Server selbst. In diesem Beitrag soll es hauptsächlich um den Server gehen.

Installation von Mosquitto

Mosquitto lässt sich recht einfach im Terminal installieren mit:

Konfiguration von Mosquitto

Damit man auch aus dem Netzwerk auf den Server zugreifen kann, muss man noch eine kleine Einstellung vornehmen. Dazu erstellt man die Datei /etc/mosquitto/conf.d/mosquitto.conf:

Und fügt dort folgendes ein:

Um die Einstellungen zu übernehmen, muss man den Mosquitto-Server noch neu starten:

Testen

Möchte man den Server ausprobieren, kann man das zum Beispiel mit einem weiteren Linux-Rechner tun. Dazu installiert man zuerst den Mosquitto Client:

Mit folgendem Befehl lässt sich etwas auf dem Broker subscriben:

Die IP-Adresse musst du natürlich anpassen. „-v“ sorgt dafür, dass nicht nur der Inhalt der Nachricht, sondern auch das Topic angezeigt wird. Hinter dem „-t“ steht in Anführungszeichen das Topic, das man subscriben möchte. „#“ steht für alles.

Mit folgendem Befehl lässt sich eine Nachricht senden:

Die IP-Adresse musst du wieder anpassen. Hinter dem „-t“ steht wieder das Topic und in diesem Fall hinter dem „-m“ die Nachricht.

Ein Upgrade für den Homeserver Teil 5 – Docker und Portainer

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.


Übersicht aller Artikel dieser Serie


Installation von Docker

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:

und

Jetzt ist Docker schon fertig installiert.

Installation von Portainer

Jetzt installiere ich Portainer nach dieser Dokumentation.

Zuerst erstellen wir ein Volume:

Dann kann Portainer schon installiert und gleichzeitig gestartet werden:

Konfiguration von Portainer

Die Admin-Seite von ist jetzt unter https://IP_ADRESSE:9443 erreichbar. Dort lässt sich ein Admin-Konto mit Passwort anlegen.

Portainer anlegen eines Adminaccounts

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.

Portainer

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.

Ein Upgrade für den Homeserver Teil 4 – Ubuntu Server

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.


Übersicht aller Artikel dieser Serie


Erstellen der VM

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

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.

VM in Openmediavault automatisch starten

Ubuntu ist jetzt fertig installiert. Im nächsten Schritt werde ich Docker auf Ubuntu installieren.

Akkustand von Bluetooth-Kopfhörer in Ubuntu anzeigen

Der Akkustand meiner Bluetooth-Kopfhörer wurde bei mir standardmäßig nicht angezeigt. Um das zu korrigieren, reicht eine einfache Änderung:

Konfigurationsdatei anpassen

In der Datei /etc/bluetooth/main.conf muss im Abschnitt „[General]“ ein

Eingefügt werden. Anschließend kann man entweder den ganzen Rechner oder nur den Bluetooth Service mit

neustarten und der Akkustand wird zum Beispiel in den Einstellungen unter „Energie“ angezeigt:

Ubuntu zeigt in den Einstellungen Akkustand an

Akkustand in der Leiste anzeigen

Damit ich nicht den Umweg über die Einstellungen gehen muss, zeige ich mir den Akkustand der Kopfhörer direkt in der oberen Leiste neben der Uhrzeit an. Dafür verwende ich folgende Gnome Extension: https://extensions.gnome.org/extension/5615/battery-indicator-upower/

Akkustand von Bluetooth Kopfhörer in Ubuntu