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.
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