Je cherche à migrer mon installation Jeedom d’un Raspberry Pi3B de plus en plus instable (freeze tous les 2 ou 3 jours) vers un Synology DS423+.
J’ai essayé les différents tuto macvlan de Didier3L (pour utilisation du plugin Xiaomi notamment), en vain, je rencontre systématiquement des erreurs. Très certainement de mon fait, étant novice en utilisation de Docker.
Ayant vu que @Loic avait mis à jour très récemment la documentation officielle pour installation Synology, j’ai décidé de l’utiliser en prenant l’option Docker-Compose qui me permet de déclarer mes périphériques USB. J’ai également ajouté un mapping des volumes et l’utilisation de l’image 4.3-buster (également testé avec 4.4-buster).
Au lancement du Docker-Compose, l’installation MariaDB se met en erreur avec le message ci-dessous :
Installing MariaDB/MySQL system tables in '/var/lib/mysql/' ...
Installation of system tables failed! Examine the logs in
/var/log/mysql/error.log or /var/lib/mysql/ for more information.
The problem could be conflicting information in an external
my.cnf files. You can ignore these by doing:
shell> /usr/bin/mysql_install_db --defaults-file=~/.my.cnf
You can also try to start the mysqld daemon with:
shell> /usr//sbin/mysqld --skip-grant-tables --general-log &
and use the command line tool /usr//bin/mysql
to connect to the mysql database and look at the grant tables:
shell> /usr//bin/mysql -u root mysql
mysql> show tables;
Try 'mysqld --help' if you have problems with paths. Using
--general-log gives you a log in /var/lib/mysql/ that may be helpful.
The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
You can find the latest source at https://downloads.mariadb.org and
the maria-discuss email list at https://launchpad.net/~maria-discuss
Please check all of the above before submitting a bug report
at http://mariadb.org/jira
Stopping MariaDB database server: mysqld.
Starting MariaDB database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed!
mariadb: unrecognized service
J’ai vérifié les droits des répertoires « db » & « html » et ils semblent OK, je n’arrive pas à comprendre d’où vient cette erreur (qui du coup bloque l’installation de Jeedom).
Auriez-vous une idée ?
Merci d’avance !
héhé, c’est une bonne idée prochaine étape, sortir le cron dans un container scheduler externe, j’utilise chadburn qui se configure simplement, puis ensuite le container jeedom devient un simple serveur apache + php, une image officielle stable existe pour cela.
Ensuite il faut placer les démons des plugins dans des containers séparés également, pour aller au bout du concept…
C’est possible d’appeler un cli dans un container depuis l’extérieur, et donc aussi depuis un autre docker, il suffit de partager la socket docker avec le container qui fait office de ‹ cron › (comme un volume -v /var/run/docker.sock:/var/run/docker.sock) c’est ce que j’ai fait et qui marche.
Ensuite il suffit de mettre des labels sur le container sur lequel tu veux exécuter le cron, par exemple pour jeedom j’ai mis juste ça en plus dans le docker-compose
labels:
# label chadburn for the "cron" container
chadburn.enabled: "true"
chadburn.job-exec.jeedom-cron.schedule: "@every 1m"
chadburn.job-exec.jeedom-cron.command: "/usr/local/bin/php /var/www/html/core/php/jeeCron.php >> /var/www/html/log/cron.log 2>&1"
Oui, l’intérêt c’est de rapprocher Jeedom d’une « simple » image apache+php qui est une image officielle, maintenue par la communauté.
Aujourd’hui l’image est une debian sur laquelle on ajoute tout un tas de packages (dont php apache et bien d’autre) mais on pourrait utiliser celle de php+apache qui permet d’ajouter les extensions spécifiques à php dont on a besoin.
J’ai essayé de le faire sur mon exemple https://github.com/pifou25/docker-jeedom/blob/master/build/Dockerfile mais pour l’instant j’en suis loin.