Ajouter des bibliothèques python à odoo sous docker
Certains modules Odoo ont des dépendances externes qui se présentent sous forme de bibliothèques python ou de paquets système.
Le module Asterisk connector
par exemple nécessite la bibliothèque python py-Asterisk
.
Quand on est sous docker, il faut modifier l'image Odoo pour y inclure cette dépendance nécessaire.
Ici nous allons utiliser l'image odoo:14.0
pour l'exemple.
Pour modifier une image docker on utilisera un fichier de recette appelé Dockerfile.
- Dockerfile
FROM odoo:14.0 USER root RUN pip3 install -U pip RUN pip3 install py-Asterisk USER odoo
Ce fichier sera nommé Dockerfile
et déposé dans un dossier build
.
Dans ce dossier exécutera la commande:
docker build . -t odoo:14.asterisk
Cette commande va créer une nouvelle image odoo nommée odoo:14.asterisk
où sera embarquée de la bibliothèque python py-Asterisk
.
Cette nouvelle image sera ensuite utilisée pour lancer le container Odoo.
Pour cela, il faudra modifier le fichier docker-compose.yml
pour utiliser cette nouvelle image au lieu l'originale.
version: "3" services: odoo: image: odoo:14.astrisk # au lieu de odoo:14.0 container_name: myodoo depends_on: - db ports: - "8069:8069" environment: - DB_ENV_POSTGRES_USER=odoo - DB_ENV_POSTGRES_PASSWORD=odoo links: - db:db db: image: postgres:10.0 container_name: myodoo_db environment: - POSTGRES_USER=odoo - POSTGRES_PASSWORD=odoo