Scripts Install Jeedom - Debian 13

Bonsoir,

!! EXPERIMENTAL … Pour partage !!

Testant Debian 13 par ailleurs, j’ai pris du temps pour regarder le script d’installation de Jeedom qui par défaut ne va pas au bout sous cet OS (ce qui est normal, comme cela a déjà été dit à plusieurs reprises sur le Community).

Après quelques dizaines d’itérations (merci les snap de Proxmox :stuck_out_tongue: ), je suis arrivé au bout (en tout cas arrivé quelque part lol), et j’ai donc un Jeedom qui tourne sous Debian 13.2, en PHP 8.4.11, MariaDB 11.8.3, NodeJS 22.21.

Pour cela, j’ai du apporter pas mal de modifs aux paquets utilisés (à la fois Debian mais aussi PHP). Je ne dis pas que c’est parfait, loin de là, ni que c’est la bonne méthode, mais cela donne au moins des idées et une direction :wink:

PS : le script n’a pour le moment été testé QUE sur Debian 13, je n’ai pas encore testé la compatibilité avec Debian 12 par exemple.

Si cela intéresse certains, et que vous voulez tester (et si cela peut faire gagner du temps à l’équipe Jeedom le moment venu), j’ai cloné le repo du core de Jeedom sur mon github et apporté les modifications.

PS : A faire à vos risques et péril, et bien entendu, sur un Jeedom dédié à vos tests, surtout pas en production !!! :open_mouth:

J’ai également documenté toutes les modifs que j’ai apporté pour aider à comprendre les différentes étapes. Pour cela, un fichier .md a été créé à la racine du repo (oui ce fichier .md a été généré à l’aide d’une IA en scannant les commit de mon repo, elle travaille vite à générer toute cette doc, il faut bien qu’elle serve à quelque chose :rofl:) :

Si vous voulez tester cela sur un Debian 13 fraichement installé, voici comment je procède :

  • Install de Debian 13
  • Création d’un user Jeedom, à qui j’ajoute les droits « sudo »
  • Ouverture d’une session avec ce user Jeedom
  • Lancement de ces commandes :
# pour ne pas être prompté ensuite du mot de passe sudo...
sudo apt update

# téléchargement du script install.sh sur mon repo et lancement
wget https://raw.githubusercontent.com/titidom-rc/jeedom-core/trixie/install/install.sh -O install.sh
chmod +x install.sh
sudo bash install.sh -r titidom-rc/jeedom-core -v trixie 2>&1 | tee jeedom-install.log

Les options de lancement du script ne sont pas celles standards :wink: En effet, je l’ai modifié pour qu’il puisse être lancé et compatible avec des « fork » (Dit autrement : Lors de l’install, le script télécharge le code source de Jeedom sur le repo officiel de jeedom, ce qui est l’option par défaut dans le script que j’ai modifié bien entendu… Mais si l’utilisateur le souhaite, il peut ajouter l’argument « -r » (R comme repo !) et indiquer son repo git dans lequel est stocké son fork… Cela permet de tester de bout en bout une install en utilisant tout le code du fork, et pas un bout venant du fork et l’autre bout du repo master de jeedom/core)

Premiers retours (seulement quelques heures de recul…) : Etonnement cela fonctionne plutôt bien (j’ai quelques PHP warning, mais rien de grave pour l’instant), j’y ai même installé mes plugins, qui tournent :slight_smile:

Mais bien sûr, cela ne signifie pas que tout va être rose, et que tout fonctionnera ! Ce n’est que le début, et il y a bcp de tests à prévoir aussi bien côté core que côté plugins…

Si cela peut faire avancer le sujet de Jeedom sous Debian 13 :+1:

Bonne fin de soirée,
TiTidom.

13 « J'aime »

Bonjour,

Il existe déjà une branche officielle pour installer Jeedom sous Debian 13 :

wget https://raw.githubusercontent.com/jeedom/core/trixie/install/install.sh
sudo ./install.sh -v trixie

Le travail restant étant de gérer la pleine compatibilité entre toutes les versions de Debian sinon l’install est ok et Jeedom fonctionne :

5 « J'aime »

Bonsoir Aurélien,

Merci pour ton message.

En effet, la branche existe, et le script arrive « au bout ». Cela s’installe mais il persiste pas mal de messages d’erreurs lors de l’installation (sur un Debian 13), et quelques spécificités de Debian 13 n’ont pas été prises en compte, ni l’obsolescence de certains paquets.

C’est dommage :confused: tant qu’à préparer le passage futur sur une version « majeure » d’OS, c’est l’occasion de revoir les scripts d’install, les versions utilisées des paquets, des extensions, etc… et d’optimiser le process d’install :slight_smile:

Quelques exemples pour illustrer (avec le script d’install de la branche trixie) :

Paquet qui n’existe pas :
image

Autres paquets qui n’existent pas et tentative d’installation de Python 2 :

libav-tools n’existe plus :

le paquet mbrola n’existe pas :

Ligne d’install incorrecte (il manque un mot clé) :
image

Module php qui n’existe plus :

Install de NodeJS qui retourne des erreurs :

Install NodeJS (npm) 20 versus 22 et en erreur :

Bonne soirée,
TiTidom.

2 « J'aime »

Ah mais ça n’enlève rien au fait que le travail que tu as fait à ce niveau est grandement apprécié et sera très utile le moment venu. Merci d’ailleurs, je voulais juste t’alerter sur le fait que le sujet était déjà en cours de traitement par l’équipe.

Effectivement, les analyses étant toujours en cours tout n’est pas forcément poussé en temps et en heure sur github. Pour l’installation de nodeJS notamment, ça doit être mieux avec le paquet gnupg

Edit : @TiTidom n’hésites pas à proposer une pr sur la branche trixie !
Edit2 : contenu de PR non généré par IA par contre stp :pray: (je sais d’expérience que dans ce genre de situation elle sera complètement à côté de la plaque en faisant mettre en place des usines à gaz inutiles).

1 « J'aime »

Bonsoir,

Merci pour la proposition. Je vais d’abord continuer mes tests (notamment d’installation sous Debian 12, pour vérifier qu’il n’y a pas de régression) et ensuite je proposerai un PR.

Pas d’inquiétude :wink: Je n’utilise l’IA que lorsque c’est utile et que cela me fait gagner du temps :stuck_out_tongue:

TiTidom.

Bonjour,

J’ai terminé les modifications sur les scripts d’install (pas que le script install.sh d’ailleurs mais également ceux appelés par le script d’install, comme celui d’install de nodejs).

Ce mode d’install fonctionne sur un Debian 13, mais également sur un Debian 12.

Je vais préparer un PR pour proposer ces mises à jour à l’équipe Jeedom.

En attendant, ce serait une bonne chose de tester ce script sur différentes machines (par exemple Raspberry, Odroid, ou autre type).

Pour tester cela sur un Debian 12 ou 13 fraichement installé, voici comment procéder :

  • Install de Debian 12/13
  • Création d’un user Jeedom, à qui j’ajoute les droits « sudo »
  • Ouverture d’une session avec ce user Jeedom
  • Lancement des commandes suivantes :
# pour ne pas être prompté ensuite du mot de passe sudo...
sudo apt update

# téléchargement du script install.sh sur mon repo et lancement
wget https://raw.githubusercontent.com/titidom-rc/jeedom-core/trixie/install/install.sh -O install.sh
chmod +x install.sh
sudo bash install.sh -r titidom-rc/jeedom-core -v trixie 2>&1 | tee jeedom-install.log

PS1 : avec cette commande, les logs d’installation se trouveront dans le répertoire courant dans le fichier jeedom-install.log

PS : Cette version « trixie » est basée sur la version 4.5.2 du core de Jeedom (commits au 19/12/2025).

Ensuite, dans le Jeedom installé, je fais pointer la configuration des mises à jour sur cette version, pour cela j’active la fonction « Github » et je met ces informations :

Bonne journée,
TiTidom.

6 « J'aime »

Re,

@Loic, @Aurelien (ou tout autre personne bien entendu…) : Une préférence pour le PR de ces modifs des scripts d’install ?

  • Vers la branche « 4.5.2 » ou bien vers la branche « trixie » ? ou Autre ? ou nul part ? :stuck_out_tongue:

Sachant que les modifs ajoutent la compatibilité Debian 13, mais est également compatible Debian 12.

Bonne journée,
TiTidom.

si on se dirige vers un « git flow » pour la gestion du core, je pense que c’est mieux de merge vers la branch trixie

mais est-ce un git flow?

1 « J'aime »

Bonjour,

Oui PR sur la branche trixie on aura l’impression d’avoir une certaine cohérence ça serait bien d’essayer de respecter la convention git-flow, une branche par nouvelle fonctionnalité :slight_smile: et puis sur la branche alpha c’est bloqué depuis plus d’un an :confused:

J’ai testé ton script dans un conteneur docker sur un host rpi2 (armv7) et je vais aussi le tester sur mon rpi4 (arm64) toujours dans un conteneur docker.

J’ai déjà fait des images docker de jeedom sous debian trixie et j’ai eu environs les mêmes problèmes, mais comme je ne suis pas sur le même repo ce n’est pas forcément simple à transposer. Je vais regarder tes changements de plus près pour comparer :slight_smile: comme je travaille sous docker j’ai principalement modifié le Dockerfile et le script init.sh (install/OS_specific/Docker/init.sh)

1 « J'aime »

Bonjour,

Merci @Mips & @pifou pour vos retours :+1:

Le PR est fait :slight_smile:, j’ai essayé d’être le plus précis dans sa description, et sinon tous les changements sont décrits dans les deux fichiers .md cités auparavant (et indiqués dans le PR) :

Bon dimanche,
TiTidom.

4 « J'aime »

Bonjour @pifou ,

Merci pour ton post : Je m’étais pourtant dit qu’il fallait que je retranscrive les modifs sur la partie Docker, et j’ai totalement zappé de les inclure ensuite (pour Jeedom, je n’utilise pas les images Docker).

Du coup j’ai ajouté dans le PR les modifs pour Docker (j’ai retranscrit les modifis que j’ai apporté au script d’install pour Debian 13), et j’ai ajouté également le support de repo custom type « fork » pour faciliter les tests de bout en bout pour les scripts d’install.

Par contre, je n’ai pas eu l’occasion de tester, si tu veux jeter un coup d’oeil et comparer avec ce que tu as ? :+1:

TiTidom.

Re-Bonjour,

Mon côté perfectionniste m’a poussé à tester ces images Docker :stuck_out_tongue: Et après quelques modifs, j’ai maintenant un Jeedom qui tourne sous Docker à partir d’une image « Trixie-Slim » :

Et un plugin Monitoring installé (c’était pour tester que l’install d’un plugin était fonctionnelle) :
image

Si vous voulez tester, voici comment j’ai procédé :

ma VM permettant de faire tourner du docker et un Ubuntu 24.04 avec Docker installé dessus.

Je crée un répertoire « jeedom-docker » :

cd ~
mkdir jeedom-docker
cd jeedom-docker

Je recopie dedans à partir de mon repo, le fichier Dockerfile et le répertoire install :

image

Repo :

Pour éviter les erreurs de fin de ligne et conflits entre windows et linux, je lance la commande suivante pour convertir les fins de lignes… :

# Convertir tous les fichiers dos vers unix
find install -type f -exec sed -i 's/\r$//' {} \;

Ensuite je lance le build de l’image docker en me basant sur mon repo, et sur l’image « trixie-slim » :

sudo docker build --build-arg GITHUB_REPO=TiTidom-RC/Jeedom-Core --build-arg VERSION=trixie --build-arg DEBIAN=trixie-slim --progress=plain --no-cache -t titidom/jeedom:trixie . 2>&1 | tee build.log

Ensuite pour lancer l’image :

sudo docker run -d -p 80:80 -p 443:443 --name jeedom-trixie -v jeedom-data:/var/www/html -v jeedom-db:/var/lib/mysql -e TZ=Europe/Paris --restart unless-stopped titidom/jeedom:trixie

PS : j’utilise deux volumes persistants « jeedom-data » et « jeedom-db » dans ce docker

Et ensuite, je me connecte dans mon navigateur à l’adresse IP de la machine hébergeant le docker :+1:

Si certains veulent tester, ils sont les bienvenus :stuck_out_tongue:

Bonne journée,
TiTidom.

2 « J'aime »

bien joué :slight_smile: moi j’ai juste testé sur ARM chez moi, ça passe bien aussi.

Ensuite j’ai pris ta branche et j’ai modifié les workflow github

Le but est de faire passer ces workflows sur tes modifications mais aussi les réparer, certains sont HS depuis un certain temps… Par exemple celui qui build les images officielles Jeedom ne build plus depuis 1 an.
ça passe, la plupart sont au vert, en particulier Docker Test Trixie Image build et test l’image Docker avec le script sick.php.

Et Docker Hub Image CI Builder le job qui build les images officielles en multi-arch et les pousse sur le docker hub (ici sur mon espace).
https://hub.docker.com/r/pifou25/jeedom/tags?name=trixie

1 « J'aime »

Bonjour @TiTidom
Ta PR semble avoir d’autres commit que les tiens, est-ce que tu pourrais repartir de la branche trixie et reporter tes commits dessus ? En l’état je suppose que tu es parti de la branche alpha ?

Bonsoir @pifou,

Oui il y en a d’autres que les miens, comme indiqué dans le PR : Je suis parti de la branche 4.5.2 à une date donnée, car la branche trixie était plus « ancienne » et je voulais être « au plus proche » des derniers commits à jour, pour profiter des derniers changements (et que ce soit plus simple à merger ensuite dans la branche actuelle) :slight_smile: J’ai géré également le conflit de Merge qu’il y avait au départ, normalement le PR est prêt à être mergé en l’état, sauf si j’ai oublié un truc, dans ce cas, dis moi, pas de soucis :slight_smile:

J’ai testé le script sur des VM Debian 11, 12 et 13, donc sauf erreur, il est rétro compatible avec les autres versions d’OS.

Le dernier changement, je l’ai effectué aujourd’hui (dernier commit) suite à la détection d’un bug, car en Debian 13, les alias « mysql » ne sont plus inclus dans le paquet « mariadb-client », il faut ajouter un paquet supplémentaire, ce que j’ai fait à la fois pour l’install classique et dans la version docker.

TiTidom.

1 « J'aime »

Il faut bien partir de la branche dédiée aux fonctionnalités concernées.

Bonjour,

Suite à vos différentes remarques, j’ai pris le temps de faire une séance de cherry-pick :stuck_out_tongue: , et j’ai créé un nouveau PR « clean » sur la branche trixie de Jeedom/core, avec seulement mes modifications pour rendre compatible l’installation de Jeedom sur Debian Trixie (13) tout en conservant la rétro-compatibilité avec Debian 11 & 12.

En espérant que ce soit bon, et que ce PR soit accepté en l’état :

Bonne journée,
TiTidom.

4 « J'aime »