
Pour optimiser la performance et la sécurité lors du déploiement d’Odoo 16, il est recommandé d’utiliser un système d’exploitation Linux. Plusieurs distributions de Linux sont disponibles, telles que Debian, Redhat, Gentoo, Arch Linux, et Ubuntu, ce dernier étant parmi les plus populaires et largement utilisés.
Contrairement aux systèmes mono-utilisateur tels que Windows ou Mac, Linux peut gérer simultanément plusieurs processus exécutés par différents utilisateurs. Ainsi, en utilisant un environnement virtuel, il est possible de lancer plusieurs instances d’Odoo 16 sur un seul serveur.
Une approche qui offre plus de flexibilité et d’efficacité est l’utilisation de Docker. Docker est un outil de virtualisation légère qui facilite la gestion de multiples instances d’Odoo 16, permettant l’exécution de différentes versions sans complications. Docker fonctionne par la création de conteneurs qui isolent les applications et leurs dépendances du système hôte, assurant ainsi une exécution homogène et sécurisée.
Dans la continuation de notre guide, nous nous concentrerons sur l’installation de Docker sur notre VPS, qui fonctionne sous Ubuntu 22.04, et nous explorerons comment exécuter et déployer Odoo dans un conteneur Docker. Cela nous permettra de profiter des avantages de la virtualisation, de l’isolation des processus et d’une gestion plus aisée des instances d’Odoo 16.
Qu’est-ce que Docker ?

Avant de plonger dans le déploiement d’Odoo 16, il est essentiel de comprendre ce qu’est Docker et comment il nous sera utile. Docker est une plateforme open source dédiée à la virtualisation légère, permettant de lancer des applications dans des environnements isolés nommés conteneurs.
Le Conteneur Docker:
Un conteneur est une unité autonome et exécutable qui inclut tout ce qui est nécessaire pour exécuter une application, à savoir :
- L’image de l’application (telle que PostgreSQL, Odoo, MongoDB, etc.)
- Les fichiers système virtuels
- Les configurations nécessaires, y compris les variables d’environnement
- Un port pour permettre la communication lors de l’exécution de l’application
Avec Docker, le déploiement d’applications est simplifié, et l’on peut s’assurer que l’application fonctionnera de manière uniforme à travers différents environnements et systèmes d’exploitation.
Docker vs Systèmes de Virtualisation Traditionnels (tels que VirtualBox):
Contrairement aux machines virtuelles traditionnelles qui offrent une isolation totale en consommant d’importantes ressources système, Docker offre une forme d’isolation plus légère, en s’exécutant directement sur le système d’exploitation de l’hôte. Cela permet une utilisation plus efficace des ressources, en optimisant les performances.
Dans ce guide, nous explorerons comment installer Docker sur Ubuntu 22.04 et procéder au déploiement d’Odoo en utilisant cette innovante technologie de conteneurisation.
Comment Installer Docker sur Ubuntu 22.04

Avant d’exécuter Odoo dans un conteneur Docker, nous devons d’abord installer Docker sur Ubuntu 22.04. Il y a principalement deux méthodes pour installer Docker :
Méthode 1: Installation de Docker à partir du répertoire officiel de Docker
Cette méthode est recommandée pour installer la dernière version de Docker. Voici les étapes à suivre :
Désinstaller les Anciennes Versions de Docker
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
Méthode 2: Installation de Docker à partir du répertoire par défaut d’Ubuntu
Cette méthode est plus simple mais pourrait ne pas installer la dernière version de Docker.
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
Choisissez la méthode qui convient le mieux à vos besoins et suivez les étapes pour installer Docker sur votre système Ubuntu 22.04.
Docker-Compose, c’est quoi ?
Docker Compose est un outil qui permet de définir et exécuter des applications Docker multi-conteneurs. Il utilise des fichiers YAML pour configurer les services de l’application, facilitant ainsi la gestion et l’exécution de services multi-conteneurs. YAML, un langage de sérialisation de données lisible par l’humain, est couramment utilisé pour les fichiers de configuration.
Comment installer Docker-Compose ?
Suivez les étapes simples ci-dessous pour installer Docker-Compose :
Pour installer docker-compose , utilisez simplement les deux commandes ;
sudo apt update
sudo apt install docker-compose
Pour confirmer que Docker-Compose a été correctement installé, vous pouvez vérifier sa version :
docker-compose –version
Une fois ces commandes exécutées, Docker-Compose sera installé sur votre système, prêt à être utilisé pour gérer vos applications multi-conteneurs.
Utilisation des Images Docker pour Créer des Conteneurs

Qu’est-ce qu’une Image Docker ?
Docker utilise des images pour initialiser les conteneurs. Une image Docker est un modèle immuable et en lecture seule, qui comporte toutes les instructions et les dépendances nécessaires pour créer un conteneur et exécuter une application.
Docker Hub : La Bibliothèque des Images
Docker Hub est une plateforme qui sert de registre centralisé pour stocker et distribuer des images Docker. Il offre une variété d’images préconçues et préconfigurées pour différents logiciels, frameworks et systèmes d’exploitation, disponibles au public.
Accès au Docker Hub : Les images sont accessibles via Docker Hub.
Utilisation d’Images Prédéfinies : Vous pouvez utiliser des images déjà existantes et maintenues par la communauté ou par les éditeurs de logiciels. Par exemple, pour Odoo, différentes versions des images sont disponibles et maintenues, prêtes à être déployées. Vous pouvez accéder aux images Odoo via ce lien.
Comment Utiliser les Images ?
Recherche d’Images : Vous pouvez rechercher des images spécifiques selon vos besoins, comme différentes versions d’Odoo.
Téléchargement d’Images (Pull) : Les images peuvent être téléchargées (pull) sur votre environnement local pour être utilisées pour créer et exécuter des conteneurs.
En utilisant les images Docker du Docker Hub, vous pouvez simplifier et accélérer le déploiement de vos applications, comme Odoo, en tirant parti des configurations et des paramètres déjà optimisés et maintenus par d’autres développeurs et organisations.
Déploiement d’Odoo 16 avec Docker
Préparation du Répertoire
Navigation vers le répertoire de travail:
sudo su
cd /
cd opt
mkdir odoo16
Création du fichier Docker-Compose
Édition du fichier docker-compose.yml:
nano docker-compose.yml
Ensuite, insérez le contenu suivant :
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:
Configuration des Variables Environnementales
Création et configuration du fichier .env:
nano .env
Ensuite, insérez le contenu suivant :
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
Configuration d’Odoo
Création des répertoires et configuration d’Odoo:
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
Démarrage des Conteneurs
Retour au répertoire précédent et démarrage des conteneurs:
cd –
docker-compose up -d
Gestion des Conteneurs
Lister tous les conteneurs:
docker ps -a
Redémarrer un conteneur:
docker restart nom_conteneur
Ainsi, vous auriez configuré et déployé Odoo 16 avec Docker, utilisant PostgreSQL comme base de données, et tout serait prêt à être utilisé selon la configuration que vous avez établie.
Installation et Utilisation de Portainer pour Gérer vos Conteneurs Docker

Portainer offre une interface utilisateur graphique qui facilite la gestion de vos conteneurs Docker. Voici comment installer et utiliser Portainer.
Étape 1: Installation de Portainer
Téléchargez l’image Portainer depuis Docker Hub
docker pull portainer/portainer-ce:latest
Démarrez Portainer
docker run -d -p 9000:9000 –restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce:latest
Étape 2: Accès à Portainer
Ouvrez votre navigateur web et accédez à Portainer en utilisant l’adresse IP de votre serveur:
http://Adresse_IP_serveur_:9000/
La première fois que vous accédez à Portainer, il vous sera demandé de définir un mot de passe pour le compte administrateur.
Étape 3: Gestion des Conteneurs via Portainer
Sur la page d’accueil de Portainer, vous verrez diverses informations et options pour gérer vos conteneurs, images et volumes.
Voir les conteneurs existants : Sur la page d’accueil, vous pourrez voir les conteneurs existants et leur statut (Odoo, PostgreSQL, Portainer).
Gérer un conteneur spécifique :
Cliquez sur le nom du conteneur que vous voulez gérer (par exemple, le conteneur Odoo).
Vous aurez accès à diverses options telles que démarrer, arrêter, redémarrer et supprimer le conteneur.
De plus, vous aurez accès à des outils de monitoring et des logs qui vous aideront à analyser et gérer le conteneur plus efficacement.
Conclusion
Portainer simplifie grandement la gestion de vos conteneurs Docker, vous permettant d’effectuer des tâches administratives complexes via une interface utilisateur simple et intuitive. Vous pouvez maintenant gérer, monitorer et administrer vos conteneurs Docker, y compris Odoo et PostgreSQL, directement depuis l’interface de Portainer.
Tout au long de cette deuxième partie, nous avons exploré en profondeur l’univers de la virtualisation légère grâce à Docker. Cet outil puissant nous a permis de mettre en œuvre et de gérer des conteneurs de manière efficace et isolée.
Nous avons démarré notre voyage avec l’installation de Docker sur un environnement Ubuntu 22.04, en assurant une fondation solide pour nos opérations futures. Ensuite, l’introduction et l’installation de docker-compose ont été cruciales, permettant une orchestration fluide et structurée de nos services, et facilitant le déploiement d’Odoo version 16 dans un environnement conteneurisé.
L’installation de Portainer a marqué une avancée significative dans notre processus, introduisant une interface graphique conviviale et riche en fonctionnalités qui a grandement simplifié la gestion de nos conteneurs. Ceci inclut le suivi, la modification et l’administration de nos instances d’Odoo et d’autres services.
En conclusion, l’usage de Docker, en conjonction avec docker-compose et Portainer, s’est révélé être une méthode robuste et efficace pour déployer, gérer et administrer des applications telles qu’Odoo, tout en maximisant la flexibilité, la scalabilité et la reproductibilité de notre environnement de virtualisation.