Gladys auf Ubuntu-Mini-PC, erste Schritte und Fehlersuche

Hallo zusammen,
ich erlaube mir, ein weiteres Thema zu eröffnen, dieses Mal zu meiner Gladys-Installation auf einem Mini-PC. Ich möchte einen « Piloten » in einem Nebengebäude eines großen Hauses umsetzen, bevor ich es möglicherweise auf das gesamte Haus ausdehne (Alarmanlage, Beleuchtung…). Da ich mit Linux-Systemen und Programmierung nicht so vertraut bin, wage ich mich trotzdem daran! :smiley:

Ich habe einen Mini-PC Lenovo ThinkCentre M700 auf Leboncoin gekauft (4GB RAM, ein beliebiger i5, 250GB SSD) und einen Zigbee-Sonoff-Dongle. Sehr energieeffizient und ohne zu heizen, wird er in einem Schrank installiert.

Für die Installation von Ubuntu Server 24.04 LTS habe ich mich auf dieses hervorragende Video gestützt: https://youtu.be/zs2zdVPwZ7E?si=Dk7-02h-jmhxb88k. Das Bild wird auf einen kleinen USB-Stick mit Rufus erstellt. Die Installation muss ohne Anschließen des Sonoff-Sticks erfolgen!

Nach dem Neustart blocke ich die IP im Konfigurationspanel meiner Livebox und verbinde mich von meinem Windows-PC aus per PowerShell mit meinem Server: ssd user@gladys.

Ubuntu schlägt standardmäßig vor, die vorinstallierten Pakete zu aktualisieren: apt list --upgradable sudo apt-get update sudo apt-get upgrade.

Dann beginne ich, dem hervorragenden Tutorial von @pierre-gilles auf der Website und YouTube zu folgen. curl -sSL https://get.docker.com | sh

Einrichtung des nicht-root-Zugriffs für meinen Benutzer:
sudo apt-get install -y uidmap
sudo apt-get install docker-ce-rootless-extras
dockerd-rootless-setuptool.sh install
sudo loginctl enable-linger user
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Dann folgt das Tutorial mit den beiden großen Befehlen zur Installation des Gladys- & WatchTower-Containers. Dann… nichts… Ich versuche, auf Gladys über seine IP in meinem Browser zuzugreifen: nichts!

Welche Ansätze gäbe es, um die Situation zu entblockieren?

Vielen Dank im Voraus für eure Hilfe, ich hoffe, dass der Beginn meines Ansatzes auch Anfängern helfen kann!

dmar
:slight_smile:

Guten Abend,

Haben die Befehle zum Installieren von Gladys einen Fehler zurückgegeben?

Was gibt der Befehl docker ps -a (Container auflisten) zurück?

Was gibt der Befehl docker logs gladys (Logs des Containers gladys) zurück?

Hallo cicoub13, danke für deine Nachricht.
Soweit ich weiß, gab es beim Installieren keinen Fehler.

Hier ist die Ausgabe der Befehle:
docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4d810c80d507 gladysassistant/gladys « docker-entrypoint.s… » 2 days ago Exited (255) 2 days ago 80/tcp jovial_agnesi
46f395860381 hello-world « /hello » 2 days ago Exited (0) 2 days ago determined_shannon
6ba731e5e6c4 containrrr/watchtower « /watchtower --clean… » 2 days ago Up Less than a second (health: starting) 8080/tcp watchtower
e6df1476485e hello-world « /hello » 2 days ago Exited (0) 2 days ago peaceful_keldysh
202d1f85d4a6 gladysassistant/gladys:v4 « docker-entrypoint.s… » 2 days ago Created gladys

Also scheinen zwei Images in Docker zu sein: gladysassistant/gladys und
gladysassistant/gladys:v4? Watchtower ist auch da.

Allerdings gibt der Befehl docker logs gladys keine Ausgabe…

console

Es scheint, dass Gladys nicht reagiert?

Ja, tatsächlich gibt es eine Version von Gladys, die gelöscht werden muss
docker rm jovial_agnesi

Sehr seltsam, dass es keine Logs gibt. Kannst du den Container neu starten und den Log-Befehl erneut ausführen?

docker restart gladys
docker logs gladys

Die Löschung der anderen Version von Gladys hat funktioniert. Ich habe docker ps -a ausgeführt, um zu überprüfen, und sie erscheint nicht mehr.

Der Befehl restart funktioniert nicht:

Error response from daemon: Cannot restart container gladys: error while creating mount source path ‹ /var/lib/gladysassistant ›: mkdir /var/lib/gladysassistant: permission denied

Ich habe wohl nicht die Berechtigungen…? Ich dachte, ich hätte die notwendigen Schritte für die Konfiguration meines Docker-Daemon-Profils durchgeführt. Folglich funktioniert der Befehl logs immer noch nicht.

Ich habe versucht, den Befehl als root auszuführen (ich möchte diesen Zugriff lieber vermeiden, ich beherrsche das nicht gut genug, um mich in etwas zu wagen, das alles kaputt machen könnte). sudo docker restart gladys

Error response from daemon: No such container: gladys

Du hast die Berechtigungen, um docker-Befehle auszuführen :+1:
Ich glaube, die Erstellung des Containers gladys ist fehlgeschlagen, weil das Mounten des Volumes nicht möglich ist (fehlende Berechtigungen).
Kannst du sicherstellen, dass das Verzeichnis /var/lib/gladysassistant dir gehört (oder dass du die Berechtigungen dafür hast)?

(Da du den Container von deinem Benutzer aus gestartet hast, kennt root ihn nicht, das ist normal).

Wenn ich mich richtig in der Dateiarchitektur platziert habe, gibt es keinen Ordner gladysassistant in /var/lib.

dmar@gladys:/var/lib$ pwd
/var/lib
dmar@gladys:/var/lib$ ls
app-info command-not-found dpkg landscape os-prober private snapd ubuntu-advantage unattended-upgrades vim
apport containerd fwupd libuuid PackageKit python sudo ubuntu-drivers-common update-manager xml-core
apt dbus git logrotate pam sgml-base swcatalog ubuntu-release-upgrader update-notifier
boltd dhcpcd grub man-db plymouth shells.state systemd ucf upower
cloud docker ieee-data misc polkit-1 shim-signed tpm udisks2 usb_modeswitch

(Navigation in der Dateiarchitektur für Anfänger https://youtu.be/jgcXclSXnVo?si=Jybom0pq31P_INBd).

Reicht es aus, eine Neuinstallation durchzuführen, damit alles wieder in Ordnung kommt? (Wie eine Neuinstallation einer fehlerhaften .exe-Datei in Windows).

Ich glaube nicht, dass das Tutorial dafür vorgesehen ist, Docker im Benutzermodus (und nicht als Root) zu starten.

Die beiden folgenden Befehle ermöglichen es dir, das Verzeichnis zu erstellen und den Besitzer (auf dich selbst) zu ändern.

sudo mkdir /var/lib/gladysassistant
sudo chown dmar:dmar /var/lib/gladysassistant/

Sobald das Verzeichnis erstellt ist, kannst du gladys neu starten

docker restart gladys

@dmar hast du es am Ende geschafft, Gladys zu konfigurieren?

Tatsächlich ist das Tutorial dafür ausgelegt, Gladys im Root-Modus zu starten. Wenn du den Container nicht im Root-Modus startest, gibt es einige Dinge, die du beachten musst:

  • Sicherstellen, dass der Container weiterhin läuft, wenn du die Benutzersitzung verlässt
  • Nicht-Root-Benutzern die Ausführung eines Programms auf Port 80 erlauben
  • Zu überprüfen, aber nicht sicher, ob alles, was mit USB-Ports / Bluetooth-Scan / Netzwerk-Scan zu tun hat, korrekt funktioniert (ich habe es nie getestet, um ehrlich zu sein)

Hallo,

Möchten Sie, dass ich dem Tutorial, das ich im Forum für die Installation von Gladys auf einem Mini-PC erstellt habe, weitere Informationen hinzufüge?

Gern geschehen :slight_smile:

Was soll ich Ihrer Meinung nach hinzufügen und in welchem Schritt?

Ach, ich weiß nicht, ich dachte, du hättest etwas Bestimmtes im Sinn.