Jeedom sur Synology sous Docker

Bonjour Didier3L,

j’ai suis votre tuto pour l’installation de Jeedom sur Synology (918+)

quand je lance la page d’accueil voici ce que j’ai :

après recheches, je n’ai toujours pas trouvé la solution our résoudre le souci. Pourriez-vous m’aider ?

Bien à vous

si l’image n’est pas accessible, les messages sont :

jeedom nécessite le paquet unzip . Veuillez faire, en SSH :

sudo su - apt-get install -y unzip

Jeedom nécessite le paquet curl . Veuillez faire, en SSH :

sudo su - apt-get install -y curl

Jeedom nécessite le paquet ntp . Veuillez faire, en SSH :

sudo su - apt-get install -y ntp

Hello,

Pour taguer quelqu’un, il faut mettre un @ devant le pseudo.
Et pour le « problème », la solution est clairement indiquée dans le screenshot… Et cela ne peut pas être plus clair.

Il est possible, sans connaissance informatique, de ne pas savoir ce qu’est « SSH » mais une recherche Google donne pleins de résultats.

Du coup, quel est le problème?

Sous Windows, on peut se connecter e SSH via putty, sous MacOS depuis Terminal.
Sous Linux, on connait obligatoirement… Sinon cela n’a aucun sens.

1 « J'aime »

Bonjour,

Très étonnant tous ces messages d’erreur …
As tu bien téléchargé l’image MASTER ?

oui, je viens de revérifier et tout me paraît conforme au tuto

Pour répondre à Kyoshi, comme tu le fait bien comprendre dans le message, je ne suis pas un grand informaticien, mais j’ai bien essayé dans puTTY que j’ai utilisé avec mes faibles connaissances et voici le résultat :

image

comme tu le fait bien comprendre dans le message, je ne suis pas un grand informaticien, mais j’ai bien essayé dans puTTY que j’ai utilisé avec mes faibles connaissances et voici le résultat :

image

Tout le monde débute un jour, ce n’est pas grave.
C’est juste que dans ton premier message tu mets un screen avec la solution en demandant ce qu’il faut faire.

Déjà, tu mets tout sur une même ligne donc cela ne va pas.
Enfin, si on veut mettre plusieurs commandes sur une seule ligne, il faut séparer les commandes par « && ».
Ensuite, tu es déjà en root (login suivi de #), donc le sudo, qui sert à « élever » les privilèges ne va pas te servir.
Donc si tu veux suivre ce qui est indiqué sur ton screenshot, il faut saisir par exemple :

apt-get install -y unzip

j’avais essayé sans trop savoir voici le résultat :

image

@Loic, il y a des modifications en ce moment sur l’image Docker, non (j’ai vu un post dans trop me pencher dessus) ?

Ca va pas tout ca …
Car si tu as suivi mon tuto tu ne pourrais pas avoir root@PENSINEL

Ou alors tu tapes les commandes dans ton NAS mais pas sur le conteneur

Pas con comme question!
Je n’y avais pas pensé.

Si je comprends bien, je dois me connecter sur le port du conteneur 9022 …
Jusqu’ici je me connectais sur le 22

problème c’est que sur le 9022 je me fait éjecté de PuTTY …

image

Ah ben forcément… si tu n’exécutais pas les commandes sur la bonne machine…
Il faut faire attention avec ça… Exécuter des commandes sur la mauvaise machine peut générer des problèmes.

Passe par ton navigateur, connecte-toi sur le NAS, ouvre le paquet Docker, ton conteneur, ensuite dans l’un des onglets, tu peux te voir une invite de commande (je ne l’ai pas sous les yeux).

Je te propose de relire mon tuto. Ensuite de supprimer ton containers et de recommencer en suivant le tuto étape par étape

Bonjour @Kyoshi

Tu as docker en Host ou Bridge ?
Image Master ou Latest ?

j’ai un docker, mais je pense que je vais suivre les conseils de Didier3L, tout recommencer calmement depuis le début. je vous tiens au courant, merci pour vos conseils et votre disponibilité

Hello,

Master en mode Host.

Moi aussi.
Je suis en train de passer en réseau macvlan .
Mais j’ai un problème avec le port USB Bluetooth

Me revoici … après quelques heures de recherches

tout enlevé … tout recommencé en suivant scrupuleusement le tuto … idem
tout enlevé de nouveau … recommencé avec la version latest … idem

toujours cet écran

je désespère … je dois probablement passer à côté de quelque chose … mais quoi … ?

heureusement que nous sommes confinés, ça me donne un peu de temps … :wink:

Tu peux éventuellement te faire un Dockerfile

Pour ma part, je trouve que les Dockerfile (sans exception) manque de finition. Ce qui complique la vie des personnes ayant peu ou pas de connaissance sur le sujet. Mais c’est normal, créer une config totalement générique n’est pas forcément évidente. Et surtout, il faut, dans la mesure du possible, avoir toujours un poste de travail « vierge » (avec le minimum de libs, etc) afin de paré à toutes éventualités. Ce qui, en prod n’est pas forcément évident car coûteux.

Tu peux faire un truc du genre :

# Base image
FROM jeedom/jeedom:latest

# Mandatory to avoid encoding issues with jeedom
RUN export LANG=en_US.UTF-8 && \
    echo "export LANG=en_US.UTF-8" >> ~/.bashrc

# Mandatory for Jeedom
RUN echo "* * * * * www-data /usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null" > /etc/cron.d/jeedom

ENV DEBIAN_FRONTEND noninteractive

# Update system
RUN apt update && \
         apt upgrade -y && \
	 apt install -y apt-utils && \
         apt install -y  default-mysql-client \
                              Les librairies que tu veux en plus                                                       
                         
# Ports
EXPOSE 80/tcp 443/tcp
#Use this ports for alexa-api (nodeJs)
EXPOSE 3456/tcp 3457/tcp

# Exec
ENTRYPOINT ["docker-entrypoint.sh"] <==== Si tu veux faire un fichier docker-entrypoint.sh pour faire des actrions avant le script d'installation par exemple. Un exemple plus bas
CMD ["/root/init.sh"] 

Exemple de docker-entrypoint.sh

#!/bin/bash
figlet Jeedom Gaston -f slant            <====== Pas obligatoire, c'est pour faire Joli, mais il faut installer la librairies Figlet, ca permet d'écrire le nom en gros genre Ascii art.
echo "=================================="
echo "   Dockerfile version : $DOCKERFILE_VERSION"
echo "================================="
echo ' ==> Start container init' | ts
hostIpAddress=$(curl -s ifconfig.me)
echo "   - Hostname        : $HOSTNAME"
echo "   - IP Address      : $(ip address | grep eth0 | grep inet | cut -d " " -f 6)"
echo "   - Host IP Address : $hostIpAddress"


# Ici, je m'assure que l'adresse IP de la Bdd soit correctement renseignée
# Dans mon cas, personnel, j'ai commenté car j'utilise un orchestrateur et c'est lui qui se charge de "Load Balancer" la Bdd
#if [ -f /var/www/html/core/config/common.config.php ]; then
#	if [ ! -z $JEEDOM_BDD_SVC_SERVICE_HOST ] ; then
#		echo "[INFO] Change IP address of the database in case of service ip adress change"
#    	sed -i -e "s/^.*'host'.*$/        'host' => '$JEEDOM_BDD_SVC_SERVICE_HOST',/g" #/var/www/html/core/config/common.config.php
#	fi
#fi

# Mandatory - Wrong default values (Je ne sais pas si cela a été corrigé dans les nouvelle versions, je testerai d'ailleurs
sed -i -e "s/^max_execution_time = 30$/max_execution_time = 600/g" /etc/php/7.3/apache2/php.ini
sed -i -e "s/^upload_max_filesize = 2M$/upload_max_filesize = 1G/g" /etc/php/7.3/apache2/php.ini
sed -i -e "s/^post_max_size = 8M$/post_max_size = 1G/g" /etc/php/7.3/apache2/php.ini

# Apache configuration
#echo
#echo >> /etc/apache2/apache2.conf 
#echo "# Set ServerName" >> /etc/apache2/apache2.conf
#echo "ServerName $HOSTNAME" >> /etc/apache2/apache2.conf
chown www-data:www-data /var/lib/php/sessions

# Update plugins dependencies.
# Pour ma part, j'installe les dépendances avant le lancement du conteneur.
# En effet, lorsque le conteneur meurt, a moins de sauvegarder l'ensemble des librairies installées
# (en gros, mettre l'OS dans un volumes), les librairies ne seront plus là au démarrage. Donc il faut les réinstaller. Il ne faut pas oublier que
# UN CONTENEUR C'EST DU CONSOMMABLE. CE N'EST PAS FAIT POUR ETRE
# TOTALEMENT SAUVEGARDÉ. ON PRÉPARE UNE IMAGE DE BASE
# PUIS ON PROVISIONNE (genre avec Chef, Puppet, Ansible, Script, Prometheus) CE QUE LE SOUHAITE INSTALLER/CONFIGURER/LANCER
# De plus, Si on veux installer certbot, c'est pareil. 
# Pour ma part, je ne l'utilise par car j'ai un Reverse Proxy/ Load Balancer qui s'occupe du HTTPS en auto (Traefik). Plus simple et renouvellement automatique du certificat

#if [ ! -f .dependencies_installed ] ; then
  bash /usr/bin/updateDependencies.sh
#  sed -i "/supervisord/d" root/init.sh
#  echo "certbot install -n --apache --cert-name ${DOMAIN_NAME}" >> /root/init.sh
#  echo "" >> /root/init.sh
#  echo "/usr/bin/supervisord" >> /root/init.sh
#fi
echo ' ==> Container Init finished' | ts
echo
echo
"$@"     <======== OBLIGATOIRE

en espérant que cela pourra aider

1 « J'aime »

Merci de mettre tes captures écran de ta config comme suit :

image