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
  • clientsdoc/odoo_docker_build.txt
  • Last modified: 2022/06/13 20:25
  • by aziz