J’utilise Docker pour déployer Dolibarr sur MariaDB avec l’image de Tuxgasy.
Ca marche super et après déploiement, j’ai une instance rapidement disponible sur laquelle je peux me connecter.
Indépendamment de comment je l’installe, je voudrais l’automatiser en faisant en sorte que certains modules d’origine (Compta, Tiers, Factures,…) soient automatiquement activés.
J’ai tenté de simplement ajouter la valeur MAIN_MODULE_ directement dans la base llx_const. Comme je m’y attendait, cela n’a pas déclenché l’initialisation des modules et la création de leurs tables, qui se déclenche par le bouton de la page Modules/Applications.
En regardant les modules dans /core/modules, certains (FckEditor, Import et Export) ont un paramètre $this->enabled_bydefault = true. Ces modules ne sont malheureusement pas activés après l’installation.
J’ai cherché dans le Dockerfile, rien n’y apparait sur la sélection de modules au départ. Si je l’installais de 0 avec un LAMP ou un WAMP, le même problème serait le même
La seule approche que je vois est de faire un script pour appeler les fonctions derrière l’action « set » du module.php, fonction appelée lorsque l’on clique sur le bouton d’activation.
Je sais pas trop comment faire encore et j’ai peur de partir sur quelque chose de bien trop compliqué.
Est-ce que je fais fausse route ? Y’aurait pas quelqu’un qui connait un raccourci caché ?
8 ans après mes premières installations, après avoir poncé Jira, Odoo, Notion et d’autres, je suis toujours aussi fan de Dolibarr
hello, effectivement si on a beaucoup de module à activer au départ c’est un peu fastidieux
A titre d’info j’ai une fonction dans un de mes modules (dolitweak) qui permet de réaliser cela plus rapidement (on coche des cases de module et on appuie une fois pour la validation au lieu de le faire module par module)
FastModule : Optimisation de l’interface pour trouver les modules
Je ne déploie pas avec docker mais avec nixos. Pour avoir des modules activés j’utilise une base de données initiale qui a déjà ces modules activés pour le déployement avec l’option dédiée pour cela services.mysql.initialDatabases