822 views
Installer un module Odoo "à la main" avec JustOdooIt = [TOC] :::danger Ce tutoriel correspond à la procédure mise en place dans la SCOP Elabore, et nécessite un minimum de compréhension du fonctionnement de la suite JustOdooIt. Si le fichier `compose.yml` ne vous dit rien, contactez les experts JustOdooIt pour plus d'informations. ::: --- ## Contexte Installer sur une instance Odoo d'un module qui n'est pas proposé par défaut dans l'image Docker de Odoo. Il y a plusieurs scénario d'installation selon les/les modules à disposition, et si une intégration avec Git est souhaitée : 1. répertoire du **module seul**, intégrer **sans Git** 2. répertoire du **module seul**, à intégrer **via Git** 3. répertoire d'un **ensemble de modules**, à intégrer **sans Git** 4. répertoire d'un **ensemble de modules**, à intégrer **via Git** --- ## Scénario 1 : Répertoire du module SEUL à intégrer SANS Git 1. récupérer le module : il s'agit d'un répertoire au nom du module, contenant son code. :::warning **Point d'attention :** vérifier bien dans le fichier `__manifest__.py` que la version du module correspond bien à la version de votre instance Odoo. Dans le cas contraire, celui-ci ne s'affichera pas sur la vue d'installation des modules. ::: 2. Envoyer le module sur le serveur, à l'emplacement `/srv/datastore/data/{SERVICE_ODOO}/var/lib/odoo/addons/{VERSION}/`, avec : * {SERVICE_ODOO} : nom du charm en cours d'execution. Il s'agit du mot sur la première ligne du bloc de config correspondant dans le fichier `/opt/apps/myc-deploy/compose.yml`. * {VERSION} : la version du Odoo (ex: `12.0`, `14.0`) Commande de copie SSH (scp) depuis un PC: ``` scp -r mon_module/ root@monserveur.org:/srv/datastore/data/{SERVICE_ODOO}/var/lib/odoo/addons/{VERSION}/. ``` --- ## Scénario 2 : Répertoire du module SEUL à intégrer AVEC Git 1. récupérer l'adresse https du répertoire git du module (`{ADRESSE_HTTPS_GIT}` plus loin) 2. Sur le serveur, aller à l'emplacement `/srv/datastore/data/{SERVICE_ODOO}/var/lib/odoo/addons/{VERSION}/`, avec : * {SERVICE_ODOO} : nom du charm en cours d'execution. Il s'agit du mot sur la première ligne du bloc de config correspondant dans le fichier `/opt/apps/myc-deploy/compose.yml`. * {VERSION} : la version du Odoo (ex: `12.0`, `14.0`) ``` cd /srv/datastore/data/{SERVICE_ODOO}/var/lib/odoo/addons/{VERSION}/. ``` 3. Importer le module : ``` git clone {ADRESSE_HTTPS_GIT} ``` --- ## Scénario 3 : Répertoire d'un ENSEMBLE DE MODULES à intégrer SANS Git 1. récupérer le répertoire parent des modules :::warning **Point d'attention :** vérifiez bien dans le fichier `__manifest__.py` des modules que la version correspond bien à la version de votre instance Odoo. Dans le cas contraire, celui-ci ne s'affichera pas sur la vue d'installation des modules. ::: 2. Envoyez votre répertoire parent sur votre serveur, à l'emplacement `/root/{SERVICE_ODOO}/.`, avec : * {SERVICE_ODOO} : nom de votre charm en cours d'execution. Il s'agit du mot sur la première ligne du bloc de config correspondant dans votre fichier `compose.yml`. Commande de copie SSH (scp) depuis un PC: ``` scp -r {NOM_REPERTOIRE} root@monserveur.org:/{SERVICE_ODOO}/. ``` 3. Modifier le fichier `/opt/apps/myc-deploy/compose.yml` pour prendre en compte le nouveau répertoire : ajouter pour le paramètre `addons-path` le chemin `/opt/odoo/auto/dev/{NOM_REPERTOIRE}`, ce qui donne la ligne : ``` - "--addons-path=/opt/odoo/auto/dev/{NOM_REPERTOIRE},/opt/odoo/auto/addons" ``` --- ## Scénario 4 : Répertoire d'un ENSEMBLE DE MODULES à intégrer AVEC Git 1. récupérer l'adresse https du répertoire git parent des module (`{ADRESSE_HTTPS_GIT}` plus loin) 2. Sur le serveur, aller à l'emplacement `/root/{SERVICE_ODOO}/.`, avec : * {SERVICE_ODOO} : nom de votre charm en cours d'execution. Il s'agit du mot sur la première ligne du bloc de config correspondant dans votre fichier `compose.yml`. ``` cd /root/{SERVICE_ODOO} ``` 3. Importer le répertoire de modules : ``` git clone {ADRESSE_HTTPS_GIT} ``` 4. Modifier le fichier `/opt/apps/myc-deploy/compose.yml` pour prendre en compte le nouveau répertoire : ajouter pour le paramètre `addons-path` le chemin `/opt/odoo/auto/dev/{NOM_REPERTOIRE}`, ce qui donne la ligne : ``` - "--addons-path=/opt/odoo/auto/dev/{NOM_REPERTOIRE},/opt/odoo/auto/addons" ``` --- ## Relancez le service Odoo Relancez le script compose pour intégrer le nouveau module dans Odoo : ``` compose --debug up ``` --- ## Installer le module dans Odoo 1. Se connecter à Odoo 2. Activer le mode Développeur 3. Aller dans l'onglet "**Applications**" 4. Cliquer sur "**Mettre à jour la liste des Applications**" 5. Trouver et installez le ou les modules. :::success **Félicitations**, le module est maintenant installé et opérationnel ! Bonne continuation ! :::