Déployer Odoo 16 Sur Docker dans Ubuntu 22.04-Partie 02
 

Introduction

Pour avoir une meilleur performation et sécurité, Odoo doit être déployé dans un système d’exploitation de type Linux, sous ces différents distributions (Debian, Redhat, Gentoo, Arch Linux,..) dont Ubuntu est l’un des systèmes les plus connus et utilisés.
Contrairement à un système mono-utilisateur- multi-processeur comme Windows ou Mac, Linux peut exécuter plusieurs processus avec plusieurs utilisateurs au même temps.
On peut donc , en utilisant un environnements virtuel, lancer plusieurs instances Odoo dans le même serveur.
L’autre méthode qui donne plus de souplesse et d’efficacité est d’utiliser Docker, un système de virtualisation léger qui permet de gérer facilement plusieurs instances Odoo, dans plusieurs versions sans poser de problèmes.
Dans cet article, nous complétons la première partie, en installant Docker sur notre VPS (Dont Ubuntu 22.04 est le système d’exploitation) , puis nous verrons comment exécuter et déployer Odoo dans ce conteneur . 

Docker :c’est quoi : 

Avant de commencer, il est important de comprendre c’est quoi Docker et de quoi il va nous servir pour déployer Odoo.
 Docker est une plateforme open source utilisée pour la virtualisation légère, qui permet de lancer une ou plusieurs applications dans des environnements isolés appelés conteneurs.
Un conteneur est un environnement d’exécution autonome contenant tous les éléments nécessaires à une application pour s’exécuter, particulièrement ;
-          L’image de l’application (PostgreSQL, Odoo, mongo,…)
-          Les fichiers systèmes virtuels
-          Les configurations nécessaires (variables de l’environnement
-          Un port qu’on peut communiquer avec, lors de son lancement
En utilisant docker, le déploiement des applications est plus facile et on est sûr que l’application fonctionnera dans les différents environnements et systèmes d’exploitation.  

 Différence principale entre docker et les systèmes de virtualisation (comme Virtual Box):
Contrairement aux machines virtuelles, qui proposent une isolation complète mais qui consomme plus de ressources, Docker utilise une isolation légère au niveau du système d’explantation pour une utilisation plus efficaces de ressource.
Dans cet article, nous allons découvrir comment installer Docker sur Ubuntu 22.04, et comment déployer Odoo sur Docker.

Comment installer Docker sur ubuntu22.0

Avant de pour exécuter Odoo dans un conteneur docker, nous allons tout d’abord voir comment installer Docker sur Ubuntu 22.04.
  Pour installer docker sur Ubuntu 22.O, il existe deux méthodes :

  • Installation de Docker à partir du repository officiel de docker :
  • Installation de Docker à partir du repository par défaut d’Ubuntu :

 
Installation de docker à partir des repository officiel de docker :
On utiliser cette méthode pour s’assurer qu’on installe bien la dernière version de Docker, les étapes sont les suivantes :
la première chose, assurez vous que vous avez désinstallé toutes les anciennes versions de docker en utilisant l’instruction suivante :
sudo apt-get remove docker docker-engine docker.io containerd runc
Ensuite ,  suivez les étapes suivantes;
1-      Mettez à jour les packages ;
sudo apt update
2-      Installez les prérequis
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
3-      Ajouter la clé GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4-      Ajouter le repository  de Docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5-      Spécifier la source d’installation ; utilisez cette commande pour  s « assurez qu’on installe docker à partir des sources docker et non Ubuntu.  
apt-cache policy docker-ce
6-      Installer Docker ;
Mainteant on peut installer docker en utilisant la commande ;
sudo apt install docker-ce -y
7-      Pour vérifier l’état de service   de docker exécuter la commande ;
sudo systemctl status docker
La deuxième méthode ;
Cette méthode, plus simple, consiste à installer docker à partir les repositories par défaut d’Ubuntu.
Utilisez plutôt cette méthode si vous n’exigez pas d’installer la dernière version de Docker.
Les étapes sont les suivantes :
1-      Mise à jour du système
sudo apt update
2-      Installation de docker
sudo apt install docker.io -y
3-      Installation des dépendances
sudo snap install docker
4-      Vérification de l’installation :  
Utilisez la commande suivante pour s’assurez que docker est bien installé
docker –version
Vous pouvez utiliser aussi la commande indiquée dans la première méthode ;
sudo systemctl status docker

Installation de docker-compose

Docker-compose c’est quoi ?
Docker Compose est un outil destiné à définir et exécuter des applications Docker à plusieurs conteneurs.
Dans Compose, on utilise un fichier YAML pour configurer les services de notre application.
Ensuite, on crée et démarre tous les services à partir de notre configuration en utilisant une seule commande.
YAML est un langage de sérialisation des données lisible par l'utilisateur qui est souvent utilisé pour coder des fichiers de configuration.
Ayant compris c’est quoi docker-compose, nous allons mainteant l’installer.

Pour installer docker-compose , utilisez simplement les deux commandes ;
sudo apt update
sudo apt install docker-compose

Pour vérifier que docker-compose est bien installé lancez la commande ;
docker-compose -version

Les images Docker Hub

Docker utilise des images pour créer des conteneurs. Une image Docker est un modèle de lecture seul qui contient toutes les informations nécessaires pour créer un conteneur.
On peut utiliser notre image Docker, ou utiliser des images Docker prédéfinis, dans un registre centralisé appelé Docker Hub, qui contient une vaste collection d’images prêtes à l’emploi pour différents systèmes d’exploitation, Frameworks et logiciels.
Ces images sont atteignables à travers l’adresse suivante https://hub.docker.com/ .
Pour notre contexte, il est possible d’utiliser des images Odoo prêtes dans ces différentes versions (14 ;15 ;16 ;,….), en utilisant l’adresse suivante https://hub.docker.com/_/odoo .

Tout en bas de cette page, se trouvent des exemples de configurations possibles utilisable dans le fichier .yml –(YAML) .

Déploiement d’Odoo 16 dans docker

Ayant tous les éléments nécessaires, nous pouvons mainteant déployer Odoo 16 dans docker.
Pour bien organiser le travail de déploiement, nous allons mettre notre conteneur Odoo dans un répertoire bien défini qui est opt.
Pour se faire tapez les commandes suivantes :
sudo su
cd /
cd opt
mkdir odoo16


Nous avons donc créer le répertoire odoo 16 dans le répertoire opt.
Pour installer docker-compose, utilisez simplement les deux commandes ;


cd odoo16 (pour se pointer sur le répertoire odoo16)

A ce point, nous allons créer le fichier yaml qui permet de lancer deux images, Odoo 16 et PostgreSQL et de relier ces deux images ( le mot depends qui permet d’indiquer que Odoo 16 dépend de l’image PostgreSQL .

nano docker-compose.yml


Copiez les instructions suivantes ;

version: '3'
services:
  odoo:
    image: odoo:16.0
    env_file: .env
    depends_on:
      - postgres
    ports:
      - "127.0.0.1:8016:8069"
    volumes:
      - data:/var/lib/odoo

      -./config:/etc/odoo16

      - ./addons:/mnt/extra-addons
  postgres:
    image: postgres:15
    env_file: .env
    volumes:
      - db:/var/lib/postgresql/data/pgdata
volumes:
  data:
  db:


Dans ce fichier nous avons définir deux services avec deux images odoo16 et postgres
Pour l’image odoo16 ;
Nous avons précisé la version d’Odoo à déployer : ici c’est la version 16
Pour le port nous avons changé le port par défaut 8069 à 8016, pour l’accès à l’extérieur (le premier port), et laisser 8069 le port par défaut en interne.

Le paramètre env_file regroupe les configurations d’Odoo ainsi que de Postgres .
Nous devons le créer dans le même répertoire en exécutant la commande ;


nano .env

Mettez dans ce fichier les instructions suivantes :

# postgresql environment variables
POSTGRES_DB=postgres
POSTGRES_PASSWORD=StrongPassword
POSTGRES_USER=odoo16
PGDATA=/var/lib/postgresql/data/pgdata

# odoo environment variables
HOST=postgres
USER=odoo16
PASSWORD= StrongPassword


Important : Mettez un mot de passe complexe dans la variable PASSWORD (au lieu StongPassword) .

Une fois, terminé, nous allons compléter notre configuration en ajoutant le répertoire addons, qur lequel vous pouvez y mettre les modules trois tiers ou vos modules personnalisés, et le répertoire config qui va contenir le fichier de configuration d’Odoo, toujours dans le répertoire odoo16 créé précédemment.
Pour ce faire, suivez les instructions suivantes:

mkdir addons
mkdir config
cd config


On va mainteant créer et éditer le fichier de configuration odoo :
nano odoo.conf

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo
auto_reload=True


Appuyez ensuite sur Ctrl+x, puis sur Y pour sauvegarder les changements.

Revenez mainteant au répertoire précédent, en saisissant la commande suivante (n’oubliez pas l’espace après le cd) :

cd –

A partir de là, nous pouvons monter nos deux containers (conteneur) .
Pour ce faire il suffit de lancer la commande suivante ;

docker-compose up -d

Cette commande, va prendre toutes les configurations indiquées dans le fichier docker-compose.yml pour créer nos deux conteneurs Odoo et Postgres.

Pour lister tous les conteneurs créé tapez la commande
docker ps -a
Pour redémarer un conteneur il suffid de tapper
docker restart nom_conteneur (affiché dans la liste )

Installation de Portainer :

Installation de Portainer :
Vous avez vus que pour gérer nos conteurs créé, il nous a fallut tapez les commandes nécessaires.
Pour nous faciliter la tâche, il existe un logiciel appelé Portainer, qui permet de gérer facilement nos conteneurs à travers une interface graphique contenant tous les commandes nécessaire à la gestion et monitoring de nos conteneurs.
Pour l’instaler, il suffit de suivre les étapes suivantes.
docker pull portainer/portainer-ce:latest

Ensuite, Démarrez Portainer zn exécutant la commande :
docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce:latest

C’est tout, Portainer est bien installé et accsible à travers votre navigateur préféré (chrom ou fire fox), en tapant l’adresse de votre serveur (L’adresse de votre droplet créé précédement à partir de digital ocean) .

http://Adresse_IP_serveur_:9000/
en accédant la première fois, Portainer vous demande d’introduisez un mot de passe puissant et de le bien noter.
Vous pouvez aussi renommer le nom d’utilisateur admin ou le laisser par défaut.

Gestion des conteneurs à travers Portainer :

En accédant à Portainer, vous serez sur la page d’accueil qui contient tous les informations nécessaires à la manipulation de vos conteneurs et autres paramètres.
Vous trouvez aussi , les trois containers créés à présent qui sont :
- Le conteneur Portainer
- El conteneur Odoo
- Et le conteneur PostgreSQL
Si vous accéder à un conteneur (choisissez Odoo par exemple), vous trouverez les commandes nécessaires au démarrage, arrêt, suppression, redémarrage ainsi que plein d’autres outils de monitorings et de logs.

Conclusion

Nous avons dans cette deuxième partie, nous avons vu l’importance d’utilisation de système de virtualisation léger docker.
Nous avons commencé par l’installation de Docker sous Ubuntu 22.04, puis docker-compose afin de préparer le terrain et déployer Odoo version 16 Dans Docker.
Finalement, nous avons vu comment installer et utiliser Portainer, qui facilite la gestion de nos conteneurs, y compris Odoo, à travers son interface graphique accessible depuis un navigateur Internet.

Télécharger gratuitement votre  guide odoo ! 

Télécharger Gratuitement votre guide Odoo

Découvrez comment , Odoo  est une vraie opportunité pour les entreprises et les développeurs !


Télécharger !

DigitalOcean Referral Badge