Home - pifou25/docker-jeedom GitHub Wiki
Git et Build image from Scratch ?
Lancer le build de l'image + run
git clone https://github.com/pifou25/docker-jeedom.git
se placer dans le répertoire créé, copier le fichier .env.default en .env, modifier les mot de passe... puis lancer le build + run docker en mode detach:
docker compose up -d
Ceci build et démarre plusieurs containers qui ont pour nom: jeedom, db, scheduler, et adminer (ou bien phpmyadmin)
Lorsque l'installation est terminée, se connecter à Jeedom (admin / admin, modifier le mot de passe à la 1ère connexion, puis ensuite, se connecter également au market Jeedom, pour enfin accéder au Dashboard).
Play-With-Docker
un mode 'try-it-online' avec le site https://labs.play-with-docker.com/ : ajouter une instance, et lancer les 2 commandes suivantes:
wget https://raw.githubusercontent.com/pifou25/docker-jeedom/master/docker-compose.yml
docker compose up -d
Inpsecter un container
docker inspect {{contaier name}}
Exemple : docker inspect jeedom
ceci fourni une information intéressante qui est l'IP du container Jeedom, il faudra renseigner cette IP dans les paramètres réseau de Jeedom.
'Entrer' dans un container pour jouer dedans:
On ne se connecte pas en ssh dans un container, à la place on exécute cette commande docker:
docker exec -it {{container name}} /bin/bash
ex: docker exec -it jeedom sh
Re-build un container après avoir modifié Dockerfile
docker-compose up -d --build
stop & remove, puis (re)build and start :
docker-compose down && docker-compose up -d --build
Variables d'Environnement
Docker Compose
Compose accepte un fichier .env contenant les variables à utiliser. Simple syntaxe: KEY=value
Néanmoins, les variables d'environnement et / ou celles en ligne de commande sont prioritaires.
Docker
La substitution dans le fichier yml de Docker-Compose se fait avec la syntaxe suivante: ${KEY}
. Pour un container, passer la variable d'environnement est encore plus simple:
web:
environment:
- KEY: "value"
Exemple intéressant d'un if
dans un Dockerfile en fonction d'une variable d'environnement. Pour ajouter - ou pas - xdebug par un simple paramètre...
https://github.com/llaumgui/docker-images-php-fpm/blob/main/8.0/Dockerfile
https://stackoverflow.com/questions/43654656/dockerfile-if-else-condition-with-external-arguments
Voir les bonnes idées sur ce projet: https://github.com/edgd1er/jeedom-rpi
- copier des fichiers utiles depuis le repo Jeedom (pour rester à jour des MAJ)
- build multi-plateformes et multi-arguments pour générer plusieurs TAGs
Liens utiles
Jeedom Community
docker hub container PHP supported tags et readme sur github: supporte PHP jusqu'à 8.0 et 8.1, sur les Debian 10 (Buster) et 11 (Bullseye)
Configure mariadb env with variables
Reference Docker Compose Dockerfile and so on...
Traefik Pour Docker et en particulier ACME Challenge OVH et aussi le Certificat Wildcard Letsencrypt Traefik
Fixer le port d'une clé USB par son ID
Download docker image from Docker Hub ?
L'image est enregistrée sur le docker hub elle n'est plus à jour :
docker pull pifou25/jeedom
lister l'image docker:
docker image ls
ou docker images
c'est pareil
démarrer une instance de l'image avec docker run ...
Démarrer l'image officielle après l'avoir téléchargé, avec le nom / hosname / volume partagé / port de publication:
$ docker run --name jeedom --hostname jeedom --detach -v $PWD/jeedom:/var/www/html -v $PWD/mysql:/var/lib/mysql --publish 80:80 pifou25/jeedom