clientsdoc:odoo_install_and_run_with_docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
clientsdoc:odoo_install_and_run_with_docker [2022/10/23 13:08] – created azizclientsdoc:odoo_install_and_run_with_docker [2022/10/26 09:36] (current) aziz
Line 1: Line 1:
-Installer et faire tourner Odoo avec Docker+{{tag>docker odoo}}
  
 +====== Installer et faire tourner Odoo avec Docker ======
 +Les instructions sont valables pour un système d'exploitation [[https://www.debian.org/CD/http-ftp/|Debian]] mais devraient être valable pour ses dérivatifs comme Ubuntu.
  
 +
 +===== Préparer le système =====
 +
 +Créer un nouvel utilisateur
 +<cli>
 +# adduser sysadm
 +</cli>
 +
 +S'assurer que l'utilitaire ''sudo'' est installé.
 +<cli>
 +# apt install sudo
 +</cli>
 +
 +Ajouter le nouvel utilisateur au group sudo
 +<cli>
 +# adduser sysadm sudo
 +</cli>
 +
 +A partir de maintenant toutes les commandes sont exécutées en tant qu'utilisateur ''sysadm''.
 +
 +Se délogguer de l'utilisateur ''root'' et se relogguer en tant que ''sysadm''.
 +
 +===== Installer docker  =====
 +
 +S'assurer que l'utilitaire ''curl'' est installé.
 +
 +<cli>
 +$ sudo apt install curl
 +</cli>
 +
 +Installer Docker
 +<cli>
 +$ curl -sSL https://get.docker.com/ | sudo sh
 +</cli>
 +
 +
 +Installer l'utilitaire ''docker-compose''.
 +
 +<cli>
 +$ sudo pip3 install docker-compose
 +</cli>
 +
 +
 +
 +===== Lancer Odoo avec docker  =====
 +Créer un dossier qui contiendra l'ensemble des configurations.
 +
 +<cli>
 +$ cd
 +$ mkdir service.odoo
 +</cli>
 +
 +Télécharger les configurations :
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ curl -s "https://wiki.elosys.net/doku.php?do=export_code&id=clientsdoc:odoo_install_and_run_with_docker&codeblock=0" -o odoo.conf
 +$ curl -s "https://wiki.elosys.net/doku.php?do=export_code&id=clientsdoc:odoo_install_and_run_with_docker&codeblock=1" -o docker-compose.yml
 +$ ls
 +docker-compose.yml  odoo.conf
 +$
 +</cli>
 +
 +Lancer Odoo pour la première fois:
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ docker-compose up
 +</cli>
 +
 +Cette commande prendra un peu de temps pour s'achever car les ''images'' **odoo** et **postgresql** doivent être téléchargées.
 +
 +À la fin du téléchargement le terminal devrait présenter un message qui ressemble aux lignes suivantes
 +
 +<cli>
 +odoo  | 2022-10-23 14:39:50,882 1 INFO ? odoo: Odoo version 16.0-20221012 
 +odoo  | 2022-10-23 14:39:50,882 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
 +odoo  | 2022-10-23 14:39:50,883 1 INFO ? odoo: addons paths: ['/usr/lib/python3/dist-packages/odoo/addons', '/mnt/extra-addons']
 +odoo  | 2022-10-23 14:39:50,883 1 INFO ? odoo: database: odoo@db:default
 +odoo  | 2022-10-23 14:39:52,123 1 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
 +odoo  | 2022-10-23 14:39:53,983 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on 3d9101998095:8069
 +</cli>
 +
 +Odoo ne sera pas encore fonctionnel avant une dernière étape.
 +
 +Il faudra exécuter une commande supplémentaire pour régler les autorisations d'accès sur les dossiers partagés entre le système d'exploitation hôte et le container docker de l'application Odoo.
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ docker-compose run -u root --rm --no-deps --entrypoint "bash -c \"chown -R odoo: /var/lib/odoo/ && chown `id -u`:`id -g` -R /mnt/extra-addons\"" odoo
 +$
 +</cli>
 +
 +À partir de maintenant vous pourrez accéder à Odoo en inscrivant sur le navigateur internet l'adresse IP de la machine. http://192.168.0.45 par exemple.
 +
 +===== Démarrer et arrêter Odoo  =====
 +La commande ''docker-compose up'' lance odoo dans docker mais confisque le terminal en émettant le log de l'application.
 +
 +Si on souhaite arrêter ''odoo'' nous devons soit appuyer ''Ctrl-C'' sur le même terminal où a été éxecuté ''docker-compose up'' soit nous connecter à la machine avec un autre terminal et exécuter la commande suivante:
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ docker-compose down
 +</cli>
 +
 +===== Où déposer les modules supplémentaires  =====
 +
 +La configuration utilisée dans le fichier ''docker-compose.yml'' et ''odoo.conf'' indique que c'est dans le dossier ''extra-addons'' que les modules supplémentaires doivent être déposés.
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ ls -F
 +data/  extra-addons/  filestore/  docker-compose.yml  odoo.conf
 +$ cd extra-addons
 +$ git clone https://github.com/odoo/monmodule.git
 +</cli>
 +
 +A chaque fois qu'un module supplémentaire est ajouté, odoo doit être redémarré. La série de commandes pour arrêter et redémarrer odoo est la suivante
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ docker-compose down
 +...
 +...
 +$ docker-compose up -d
 +</cli>
 +
 +Ici la commande ''docker-compose up -d'' nous permet de lancer odoo sans que le terminal ne soit confisqué.
 +
 +Les logs peuvent être obtenus avec la commande ''docker-compose logs --tail=10 -f''.
 +
 +<cli>
 +$ cd
 +$ cd service.odoo
 +$ docker-compose logs --tail=10 -f
 +</cli>
 +===== Fichiers de configurations  =====
 +<code conf odoo.conf>
 +[options]
 +addons_path = /mnt/extra-addons
 +data_dir = /var/lib/odoo
 +
 +</code>
 +
 +
 +<code yaml docker-compose.yml>
 +version: "3"
 +services:
 +  odoo:
 +    image: odoo:16.0
 +    container_name: odoo
 +    ports:
 +      - 80:8069
 +    environment:
 +      DB_ENV_POSTGRES_USER: odoo
 +      DB_ENV_POSTGRES_PASSWORD: odoo
 +    links:
 +      - db:db
 +    volumes:
 +      - ./extra-addons:/mnt/extra-addons
 +      - ./odoo.conf:/etc/odoo/odoo.conf
 +      - ./filestore:/var/lib/odoo
 +    network_mode: "bridge"
 +  db:
 +    image: postgres:14.0
 +    container_name: odoo_db
 +    hostname: odoo_db
 +    environment:
 +      POSTGRES_USER: odoo
 +      POSTGRES_PASSWORD: odoo
 +      POSTGRES_DB: postgres
 +    volumes:
 +      - ./data:/var/lib/postgresql/data
 +    network_mode: "bridge"
 +
 +
 +</code>
 +
 +
 +===== Voir aussi =====
 +  * [[development:docker_overview|Introduction à docker]]
 +  * [[clientsdoc:odoo_docker_build|Ajouter des bibliothèques python à odoo sous docker]]
 +
 +===== Références Utiles =====
 +
 +  * [[https://docs.docker.com/]]
 +  * [[https://docs.docker.com/compose/]]
  • clientsdoc/odoo_install_and_run_with_docker.1666526902.txt.gz
  • Last modified: 2022/10/23 13:08
  • by aziz