J’ai tout suivi mais ça n’a rien changé car bien configuré.
Une info interressante :
Utilisez ensuite la commande « newgrp » pour vous connecter au groupe « docker ». Cette commande vous évite de devoir vous déconnecter puis reconnecter à votre session.
L’installation s’est bien déroulée mais j’ai un problème en boucle :
docker logs gladys
> start:prod
> cross-env NODE_ENV=production node index.js
2023-06-17T12:57:10+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
<rejected> ConnectionError [SequelizeConnectionError]: SQLITE_CANTOPEN: unable to open database file
at Database.<anonymous> (/src/server/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:52:25) {
parent: [Error: SQLITE_CANTOPEN: unable to open database file] {
errno: 14,
code: 'SQLITE_CANTOPEN'
},
original: [Error: SQLITE_CANTOPEN: unable to open database file] {
errno: 14,
code: 'SQLITE_CANTOPEN'
}
}
}
2023-06-17T12:57:10+0200 <error> index.js:16 (process.<anonymous>) ConnectionError [SequelizeConnectionError]: SQLITE_CANTOPEN: unable to open database file
at Database.<anonymous> (/src/server/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:52:25) {
parent: [Error: SQLITE_CANTOPEN: unable to open database file] {
errno: 14,
code: 'SQLITE_CANTOPEN'
},
original: [Error: SQLITE_CANTOPEN: unable to open database file] {
errno: 14,
code: 'SQLITE_CANTOPEN'
}
}
Une idée du problème ?
Je viens d’installer sqlite que je n’avais pas, encore une dépendance ?!
Mais ça ne change rien…
Edit, quand j’installe gladys en sudo, out fonctionne directement…
et pour le coup, la restauration a été rapide et m’a bien renvoyée vers ma fenetre de connexion.
Je pense que tu as installé docker en mode « rootless », mais Gladys à besoin des droits root pour plusieurs aspects.
Pour moi c’est une des pistes qui aurait généré tant d’erreurs.
J’aurais donc tendance à dire qu’il faut modifier la doc soit en proposant une commande qu’un user peut utiliser soit indiquer qu’il faut être en root.
Il n’y a pas besoin d’être root. Comme expliqué dans la vidéo de @pierre-gilles lui il a lancé sa VM en tant que root mais c’est inutile! Dans le cas de l’installation normal avec un utilisateur normal il faut juste ajouter l’utilisateur dans le groupe docker.
Je l’ai fait la semaine dernière et cela marche très bien.
Et dans la vidéo on voit l’explication de la commande que tu as lancé après avoir fait le CURL alors qu’en tant normal il n’est pas necessaire de faire cela
docekrd-rootless-setuptool.sh install
Du coup quel est le retour de la commande suivante (remplace par ton nom d’utilisateur)
grep "hizo" /etc/group
Et pourquoi tu as créé et changé le groupe du dossier /var/lib/glasysassistant ?
Je pense que ce changement de groupe empêche l’ouverture de la base de donnée.
Je pense que ce changement de groupe empêche l’ouverture de la base de donnée.
C’était pour tester vu qu’il REFUSAIT de toucher au dossier, comme indiquer dans l’un de mes message s :
docker: Error response from daemon: error while creating mount source path '/var/lib/gladysassistant': mkdir /var/lib/gladysassistant: permission denied.
Le problème viendrait de cette commande ?
docekrd-rootless-setuptool.sh install
Il est vrai que je n’ai pas retesté de ne pas la faire + restart ssh après ajout du groupe.
Mais je comprends que si mon user veut l’utiliser sans droits root, il faut lancer la commande.
hizo@hizo-minipc:~$ curl -sSL https://get.docker.com | sh
# Executing docker install script, commit: c2de0811708b6d9015ed1a2c80f02c9b70c8ce7b
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c install -m 0755 -d /etc/apt/keyrings
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sudo -E sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sudo -E sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sudo -E sh -c docker version
Client: Docker Engine - Community
Version: 24.0.2
API version: 1.43
Go version: go1.20.4
Git commit: cb74dfc
Built: Thu May 25 21:51:00 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.2
API version: 1.43 (minimum version 1.12)
Go version: go1.20.4
Git commit: 659604f
Built: Thu May 25 21:51:00 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
================================================================================
To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:
dockerd-rootless-setuptool.sh install
Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.
To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/
WARNING: Access to the remote API on a privileged Docker daemon is equivalent
to root access on the host. Refer to the 'Docker daemon attack surface'
documentation for details: https://docs.docker.com/go/attack-surface/
================================================================================
hizo@hizo-minipc:~$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
hizo@hizo-minipc:~$ exit
logout
Connection to 1xxx closed.
ssh 'hizo@192.168.1.12
hizo@hizo-minipc:~$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
On en est donc toujours au même point… c’est à dire que l’installation de docker ne fonctionne pas sans droits… docekrd-rootless-setuptool.sh install semble donc nécessaire…
Oui, mais elle est affichée lors de l’installation de docker.
Si je me suis fait avoir, d’autres pourraient se faire avoir aussi.
Je comprenais vraiment que si j’étais pas en root, il me fallait la faire.
Ok, je comprends mieux, tu parles donc plutôt de rajouter une mention dans la Doc qui « conseillerait » de ne suivre que les commandes de la Doc Gladys et de ne pas tenir compte des commandes venant des dépendances installées ?
Oui, juste mettre une sorte de warning après la commande curl -sSL https://get.docker.com | sh
car elle propose la commande docekrd-rootless-setuptool.sh install qui ne doit pas être lancée.
Ce n’est pas lié aux dépendances mais à l’installation de docker.
Par contre j’aurais tendance à indiquer les dépendances nécessaires à l’installation de docker dans la doc aussi.