Installation sur un mini PC

Bonjour,

petit retour sur la migration de Gladys d’un Raspberry PI à un Mini PC :
https://www.amazon.fr/dp/B0B1ZKRYHX

J’ai installé Kubuntu dessus puis Gladys via docker.
Après le curl, il m’a fallat exécuter :

dockerd-rootless-setuptool.sh install

Il faudrait préciser qu’il y a des dépendances :

curl et uidmap

Il m’a fallut les droits root pour la commande docker run car il faut plus de droits pour écrire dans /var

Il m’a proposé de me connecter sur Gladys Plus, ce que j’ai fait.
Mais, aucune information lorsque c’est terminé, j’ai laissé tourner plusieurs heures dans le doute…

J’ai tout fermé et me suis reconnecter localement, tout était bien chargé.
Mais il n’a pas recréé le brocker mqtt, ça serait cool si ça pouvait se faire :slight_smile:

J’ai lancé le jobwatcher mais aucune mise à jour ne se fait…
docker ps

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

Une idée ?

Pour le watchtower ça dépend la fréquence à laquelle tu l’as réglé… Par défaut je crois que c’est 24h non ?

Ca se règle comment ?
Ca fait plus de 24h dans tous les cas…

Et watchtower n’a pas un souci? Il a redémarré il y a une trentaine de secondes sur ton image? Il ne redémarre pas en boucle ?

C’est normal et c’est indiqué dans la doc qu’il faut ajouter l’utilisateur au groupe docker pour pouvoir exécuter les commandes docker

Il faut maintenant ajouter votre utilisateur au groupe "docker" pour que votre utilisateur puisse exécuter les commandes Docker.

Si vous êtes sur un Raspberry Pi, il faut exécuter la commande pour l'utilisateur "pi" :

sudo usermod -aG docker pi

Ensuite, fermez votre session SSH, puis reconnectez-vous. L'ajout d'un utilisateur a un groupe ne prend effet qu'après une reconnexion.

Et la commande docker ps te retourne uniquement watchtower ou tu as d’autres containers ?

C’est normal et c’est indiqué dans la doc qu’il faut ajouter l’utilisateur au groupe docker pour pouvoir exécuter les commandes docker

Ca ne suffit pas, je l’ai fait mais le dossier /var appartient à root pas à docker, ils faut donc les droits root.

Et la commande docker ps te retourne uniquement watchtower ou tu as d’autres containers ?

Uniquement le watcher, ce qui m’a étonné vu que Gladys fonctionne…

Je t’assure que cela suffit pas besoin de faire autre chose.
Je viens de transférer mon pi4 sur un mini PC lundi avec ubuntu serveur et je n’ai pas fait les commandes que tu as expliqué.

A mon avis tu as loupé quelque chose dans l’installation car la commande docker ps te retourne la liste de tes containers actifs.
Essai avec docker ps -a

c’est mieux ça :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

Bah j’ai suivi le tuto, il m’a refusé direct en disant que je n’avais pas les droits d’ecriture sur le dossier
voici mon historique de commande :

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

# J'ajoute mon user au groupe docker
sudo usermod -aG docker hizo

# Quand je veux tester docker, ile donne une commande que je dois exécuter pour l'installation
docker ps
dockerd-rootless-setuptool.sh install

# Là il me dit qu'il manque une dépendance : uidmap
sudo apt-get install -y uidmap

# Je recommence
dockerd-rootless-setuptool.sh install
docker ps

# J'installe 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

# Ici, il m'a dit non non, t'as pas le droit d'écrire dans /var, je recommence en 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

# J'installe le job watcher en utilisateur normal car ça passe
docker run -d   --name watchtower   --restart=always   -v /var/run/docker.sock:/var/run/docker.sock   containrrr/watchtower   --cleanup --include-restarting

Je peux pas t’en dire plus pour l’instant mais ce qu’on peut voir par rapport a tes captures d’écran c’est que watchtower ne fonctionne pas car il redémarre en boucle et gladys n’est pas démarré. Le container est juste créé mais pas démarré

Et pourtant j’ai bien accès à gladys :stuck_out_tongue:

Par contre je vois ça :

Ensuite, fermez votre session SSH, puis reconnectez-vous. L’ajout d’un utilisateur a un groupe ne prend effet qu’après une reconnexion.

et c’est peut être la cause…
je vais tout désinstaller.

Bizarre que tu as accès a Gladys alors que le container ne soit pas démarré
Tu n’as pas une autre instance de Gladys qui tourne ailleurs?

C’est du au fait qu’il tourne en sudo…
je viens de les supprimer aussi.

Est-ce que tu t’es bien déconnecté après avoir tapé ça : ‹ sudo usermod -aG docker hizo › ?

Edit: je vois seulement que tu en parles quelques messages plus haut. C’est certainement ça la raison !

En effet, là j’ai réussi à l’installer sans droits root.
c’était donc sûrement ça.
et maintenant j’ai plus accès à Gladys XD

Et la commande docker ps - a retourne quoi maintenant ?

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

Ca passe son temps à rebooter…

Et les logs ils disent quoi?

docker logs gladys

docker logs watchtower

Je viens de tout reformater :

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.

Pour le coup, je me suis bien deconnecté du ssh avant…

Quelques pistes dans cet article

https://www.journaldunet.fr/web-tech/developpement/1497415-comment-corriger-l-erreur-docker-got-permission-denied/