Installation auf einem Mini-PC

Hallo,

ein kurzer Rückblick zur Migration von Gladys von einem Raspberry PI zu einem Mini-PC:
https://www.amazon.fr/dp/B0B1ZKRYHX

Ich habe Kubuntu darauf installiert und dann Gladys über Docker.
Nach dem curl musste ich ausführen:

dockerd-rootless-setuptool.sh install

Es sollte klarer sein, dass es Abhängigkeiten gibt:

curl und uidmap

Ich brauchte Root-Rechte für den Befehl docker run, weil man mehr Rechte braucht, um in /var zu schreiben.

Er hat mir vorgeschlagen, mich bei Gladys Plus anzumelden, was ich getan habe.
Aber es gab keine Information, als es fertig war, ich habe es mehrere Stunden laufen lassen, weil ich unsicher war…

Ich habe alles geschlossen und mich lokal wieder verbunden, alles war gut geladen.
Aber er hat den MQTT-Broker nicht neu erstellt, das wäre cool, wenn das möglich wäre :slight_smile:

Ich habe den Jobwatcher gestartet, aber es gibt keine Aktualisierung…
docker ps

CONTAINER ID   IMAGE                   COMMAND                  CREATED      STATUS                          PORTS     NAMES
68fe7c53f52e   containrrr/watchtower   "/watchtower --clean…"   7 days ago   Restarting (1) 39 seconds ago             watchtower

Eine Idee?

Für den Watchtower hängt es davon ab, wie häufig du ihn eingestellt hast.. Standardmäßig sind es, glaube ich, 24 Stunden, oder?

Wie wird das geregelt?
Es sind in jedem Fall mehr als 24 Stunden vergangen…

Hat der Watchtower kein Problem? Er ist vor etwa 30 Sekunden auf deinem Bild neu gestartet? Startet er nicht in einer Schleife neu?

Das ist normal und in der Dokumentation wird angegeben, dass der Benutzer der Docker-Gruppe hinzugefügt werden muss, um die Docker-Befehle ausführen zu können

Jetzt müssen Sie Ihren Benutzer der Gruppe "docker" hinzufügen, damit Ihr Benutzer Docker-Befehle ausführen kann.

Wenn Sie einen Raspberry Pi verwenden, müssen Sie den Befehl für den Benutzer "pi" ausführen:

sudo usermod -aG docker pi

Schließen Sie dann Ihre SSH-Sitzung und melden Sie sich erneut an. Die Hinzufügung eines Benutzers zu einer Gruppe wird erst nach einer erneuten Anmeldung wirksam.

Und der Befehl docker ps zeigt dir nur Watchtower an oder hast du noch andere Container?

Das ist normal und in der Dokumentation steht, dass der Benutzer der Docker-Gruppe hinzugefügt werden muss, um die Docker-Befehle ausführen zu können

Das reicht nicht aus, ich habe es gemacht, aber das Verzeichnis /var gehört zu root und nicht zu docker, daher werden Root-Rechte benötigt.

Und der Befehl docker ps zeigt dir nur watchtower an oder hast du noch andere Container?

Nur der Wächter, was mich gewundert hat, da Gladys funktioniert…

Ich versichere dir, dass das ausreicht, du musst nichts anderes tun.
Ich habe meinen Pi4 am Montag auf einen Mini-PC mit Ubuntu Server umgestellt und die Befehle, die du erklärt hast, nicht ausgeführt.

Meiner Meinung nach hast du bei der Installation etwas übersehen, denn der Befehl docker ps zeigt dir die Liste deiner aktiven Container an.
Versuche es mit docker ps -a

Das ist schon besser :slight_smile:

docker ps -a
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS                          PORTS     NAMES
68fe7c53f52e   containrrr/watchtower       "/watchtower --clean…"   7 days ago   Restarting (1) 26 seconds ago             watchtower
e4d8276f276b   gladysassistant/gladys:v4   "docker-entrypoint.s…"   7 days ago   Created                                   gladys

Mist, ich habe das Tutorial befolgt, aber es wurde mir direkt verweigert, weil ich keine Schreibrechte auf dem Ordner hatte
Hier ist mein Befehlsverlauf:

curl -sSL https://get.docker.com | sh

# Ich füge meinen Benutzer der Docker-Gruppe hinzu
sudo usermod -aG docker hizo

# Wenn ich Docker testen möchte, gibt er mir einen Befehl, den ich zur Installation ausführen muss
docker ps
dockerd-rootless-setuptool.sh install

# Hier sagt er, dass eine Abhängigkeit fehlt: uidmap
sudo apt-get install -y uidmap

# Ich versuche es noch einmal
dockerd-rootless-setuptool.sh install
docker ps

# Ich installiere Gladys
docker run -d --log-driver json-file --log-opt max-size=10m --cgroupns=host --restart=always --privileged --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant -v /dev:/dev -v /run/udev:/run/udev:ro gladysassistant/gladys:v4

# Hier hat er nein gesagt, du hast keine Schreibrechte auf /var, also versuche ich es noch einmal mit sudo
sudo docker run -d --log-driver json-file --log-opt max-size=10m --cgroupns=host --restart=always --privileged --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant -v /dev:/dev -v /run/udev:/run/udev:ro gladysassistant/gladys:v4

# Ich installiere den Watchtower-Job als normaler Benutzer, weil es funktioniert
docker run -d   --name watchtower   --restart=always   -v /var/run/docker.sock:/var/run/docker.sock   containrrr/watchtower   --cleanup --include-restarting

Ich kann dir im Moment nicht mehr dazu sagen, aber was man an deinen Screenshots sieht, ist, dass watchtower nicht funktioniert, weil er in einer Endlosschleife neu startet und gladys nicht gestartet wurde. Der Container wird nur erstellt, aber nicht gestartet.

Und trotzdem habe ich Zugriff auf Gladys :stuck_out_tongue:

Aber ich sehe das:

Schließen Sie dann Ihre SSH-Sitzung und melden Sie sich erneut an. Die Hinzufügung eines Benutzers zu einer Gruppe wird erst nach einer erneuten Anmeldung wirksam.

das könnte der Grund sein…
Ich werde alles deinstallieren.

Seltsam, dass du auf Gladys zugreifen kannst, obwohl der Container nicht gestartet ist
Hast du nicht eine andere Instanz von Gladys, die irgendwo läuft?

Das liegt daran, dass es mit sudo läuft…
Ich habe sie gerade auch gelöscht.

Hast du dich nach der Eingabe von ‹ sudo usermod -aG docker hizo › wirklich abgemeldet?

Edit: Ich sehe nur, dass du ein paar Nachrichten weiter oben davon sprichst. Das ist wahrscheinlich der Grund!

Ja, ich habe es geschafft, es ohne Root-Rechte zu installieren.
Es war also wahrscheinlich das.
Und jetzt habe ich keinen Zugriff mehr auf Gladys XD

Und was gibt die docker ps -a-Befehl jetzt aus?

docker ps -a
CONTAINER ID   IMAGE                       COMMAND                  CREATED       STATUS                          PORTS     NAMES
91c144e9c84a   containrrr/watchtower       "/watchtower --clean…"   7 hours ago   Restarting (1) 39 seconds ago             watchtower
a1c10ce2c3a0   gladysassistant/gladys:v4   "docker-entrypoint.s…"   7 hours ago   Restarting (0) 23 seconds ago             gladys

Er startet ständig neu…

Und was sagen die Logs?

docker logs gladys

docker logs watchtower

Ich habe alles neu formatiert:

docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:v4
Unable to find image 'gladysassistant/gladys:v4' locally
v4: Pulling from gladysassistant/gladys
31e352740f53: Pull complete 
c017600940c6: Pull complete 
c9f8586f07bd: Pull complete 
ee16df044bfc: Pull complete 
ef1db5d9aee8: Pull complete 
c60400dfb37c: Pull complete 
4f4fb700ef54: Pull complete 
916e7e9aa0c9: Pull complete 
5ee4bdec414b: Pull complete 
52f135e00191: Pull complete 
Digest: sha256:f2ec4d91eafc243f95afbd96751166c9eb8e7761b2994c17e65a2c2466d3a7f3
Status: Downloaded newer image for gladysassistant/gladys:v4
ba6989911676792468ee1e1904c5c099d2db3584d853575ff96982fffbcbb8b7
docker: Error response from daemon: error while creating mount source path '/var/lib/gladysassistant': mkdir /var/lib/gladysassistant: permission denied.

Diesmal habe ich mich tatsächlich vor dem SSH-Logout abgemeldet…

Einige Hinweise in diesem Artikel