Odoo est une suite d'applications de gestion d'entreprise open source qui couvre tous les besoins d'une entreprise, allant de la comptabilité à la gestion des ventes, en passant par le marketing et la gestion des ressources humaines. Grâce à son interface intuitive et sa modularité, Odoo permet aux entreprises de personnaliser et d'intégrer facilement les différents modules pour optimiser leur efficacité opérationnelle.
Dans le cadre de la mise en place d'un portfolio permettant de mettre en avant nos travaux et nos expériences, nous avons eu le choix de l'outil que nous souhaitions utiliser, et mon choix s'est porté sur Odoo. Dans cet article, je vais vous montrer comment déployer Odoo sur un serveur avec Docker.
En premier lieu, je vous recommande de vérifier que Docker est installé sur votre système. Pour cela, vous pouvez exécuter cette commande :
$ docker -v
Si jamais Docker n'est pas installé sur votre système, vous pouvez suivre ce tutoriel pour l'installer.
Pour installer Odoo sur votre système, il existe deux méthodes :
- Créer un fichier docker-compose pour déployer d'un seul coup
- Déployer à la main
Pour cette fois, nous allons déployer à la main. D'abord, nous allons devoir déployer une base de données PostgreSQL, ce que nous allons faire avec Docker aussi. Pour cela, une simple commande suffit :
$ docker run -d -e POSTGRES_USER=<username> -e POSTGRES_PASSWORD=<password> -e POSTGRES_DB=postgres --name db postgres:15
Explication de la commande :
- -d informe à docker que le container fonctionnera en arrière-plan
- -e permet d'assigner une variable d'environnement
- --name permet de donner un nom au container (si le paramètre n'est pas présent, alors docker générera un nom aléatoire pour le container
- postgres:15 indique que docker devra prendre la version 15 de l'image postgres
- <username> et <password> sont à remplacer par les identifiants que vous souhaités.
Quand on exécute la commande, l'image se télécharge :
Une fois que tout est téléchargé, on peut vérifier que le container fonctionne avec la commande :
$ docker container ls --all
Normalement, si ça fonctionne bien, vous devez avoir un résultat similaire, c'est à dire, votre container postgres doit afficher "up" en statut :
Ensuite, on peut déployer odoo, pour cela, on exécute une commande supplémentaire :
$ docker run -d -p 8069:8069 --name odoo --link <container_bd>:db -t odoo
Explications de la commande :
- -p 8069:8069 permets de relier le port 8069 du serveur au port 8069 du container
- -d permet de faire fonctionner le container en arrière-plan
- --name permet de définir le nom du container --link <container_db>:db, avec <container_db> correspondant au nom de votre container PostgreSQL, permet de relier le container Odoo au container de la base de données
- -t odoo permet de prendre l'image officielle de Odoo sur docker hub, on peut rajouter :17 ou :16 en fonction de la version d'Odoo qu'on souhaite utiliser
- recommandation : je recommande d'ajouter -v odoo-data:/var/lib/odoo qui permettra de sauvegarder tout le contenu du dossier odoo dans un volume, permettant ainsi de conserver les données si on supprime le container.
Ensuite, on voit que l'image odoo se télécharge :
ensuite, une fois Odoo déployé, on se rend sur http://localhost:8069
On configure, et voilà, Odoo est déployé !