Installez Odoo 15 en utilisant Docker Compose, Nginx, SSL sur Ubuntu 22.04. Dans ce didacticiel, vous allez apprendre à installer et à configurer Odoo à l'aide de Docker et Docker Compose et à configurer Nginx et Let's Encrypt SSL, ainsi qu'à installer PostgreSQL. L'installation d'Odoo à l'aide de Docker Compose est le moyen le plus simple par rapport à l'installation manuelle.
Odoo est un logiciel de gestion auto-hébergé pour gérer une entreprise avec une expérience utilisateur de premier ordre. Les applications d'Odoo sont parfaitement intégrées les unes aux autres, ce qui vous permet d'automatiser facilement vos processus métier.
Prérequis
- Installer Docker sur Ubuntu 22.04
- Installez Docker Compose sur Ubuntu 22.04.
Veuillez vous assurer que vous avez terminé toutes les étapes mentionnées ci-dessus
- Domaine pointant vers l'adresse IP de votre serveur
- Docker installé et configuré
- Docker Compose installé et configuré
Étape 1 :Créer un répertoire de projet
Connectez-vous en SSH à votre serveur et commencez par créer un nouveau répertoire de projet nommé odoo-project
. Vous pouvez également lui donner le nom dont vous avez besoin.
mkdir odoo-project
Étape 2 :Créer un fichier YAML Docker Compose
Naviguez maintenant dans le répertoire du projet et créez un nouveau fichier docker-compose.yml avec la configuration suivante.
cd odoo-project
nano docker-compose.yml
Collez la configuration suivante.
version: '3.9' services: odoo: container_name: odoo image: odoo:15.0 volumes: - ./addons-extra:/mnt/extra-addons - ./etc/odoo:/etc/odoo - odoo-web-data:/var/lib/odoo ports: - "8069:8069" depends_on: - postgres postgres: image: postgres:14 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=odoo - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata nginx: container_name: nginx image: nginx:latest restart: unless-stopped ports: - 80:80 - 443:443 volumes: - ./nginx/conf:/etc/nginx/conf.d - ./certbot/conf:/etc/nginx/ssl - ./certbot/data:/var/www/html certbot: container_name: certbot image: certbot/certbot:latest command: certonly --webroot --webroot-path=/var/www/html -- email [email protected] --agree-tos --no-eff-email -d domain.com -d www.domain.com volumes: - ./certbot/conf:/etc/letsencrypt - ./certbot/logs:/var/log/letsencrypt - ./certbot/data:/var/www/html volumes: odoo-web-data: odoo-db-data:
Appuyez sur CTRL + X
suivi de Y
et Enter
pour enregistrer le fichier et quitter.
Voici les détails de configuration.
- version :version du fichier Compose compatible avec le moteur Docker. Vous pouvez vérifier la compatibilité ici.
- services :nous avons ici 4 services nommés
odoo
,postgres
,nginx
etcertbot
. - image : Nous utilisons les dernières images Odoo 15, Postgres 14, Nginx et Certbot disponibles dans le hub Docker.
- volumes :
nginx/conf
:ici, nous allons placer le fichier de configuration Nginx à synchroniser avec le dossier Nginx conf.d par défaut à l'intérieur du conteneur.etc/odoo
:ici nous placerons la configuration de la base de données Odoo 15.cedtbot/conf
:c'est là que nous recevrons le certificat SSL et celui-ci sera synchronisé avec le dossier que nous souhaitons à l'intérieur du conteneur.ports
:configurez le conteneur pour qu'il écoute les ports répertoriés.command
:la commande utilisée pour recevoir le certificat SSL.
Étape 3 :Créer la configuration Odoo
Vous pouvez maintenant utiliser la configuration Odoo personnalisée dans le répertoire comme mentionné dans le fichier yml du service Oddo.
mkdir -p etc/odoo
Créez un nouveau fichier nommé odoo.conf
nano etc/odoo/odoo.conf
Remplacez les valeurs en surbrillance correspondant à vos valeurs PostgreSQL.
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = postgres db_user = odoo db_password = odoo
Ici, nous utiliserons le même nom d'hôte que le nom du service PostgreSQL.
Étape 4 :Configurer Nginx
Vous pouvez maintenant créer le fichier de configuration par défaut dans le répertoire comme indiqué dans le fichier yml du service Nginx.
mkdir -p nginx/conf
Créez un nouveau fichier nommé default.conf
nano nginx/conf/default.conf
Collez la configuration suivante et remplacez les valeurs appropriées par votre nom de domaine.
server { listen [::]:80; listen 80; location ~ /.well-known/acme-challenge { allow all; root /var/www/html; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://odoo:8069; } location ~* /web/static/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://odoo:8069; } }
Étape 5 :Déployez Odoo avec Docker
Vous pouvez maintenant effectuer le déploiement à l'aide de la commande suivante.
Démarrez les conteneurs à l'aide de la commande suivante, vous recevrez les certificats SSL une fois les conteneurs démarrés.
docker-compose up -d
Une fois tous les conteneurs démarrés, vous verrez des répertoires supplémentaires pour SSL seront créés à côté de votre docker-compose.yml
fichier.
Le répertoire certbot
contient tous les fichiers liés à vos certificats SSL.
Pour afficher les conteneurs, vous pouvez exécuter la commande suivante.
docker-compose ps
Étape 6 :Configurer SSL pour Odoo dans Docker
Comme vous avez reçu le certificat SSL Let's Encrypt, vous pouvez configurer HTTPS et configurer la redirection vers HTTPS.
Modifiez le default.conf
et apportez les modifications suivantes.
sudo nano nginx/conf/default.conf
server { listen [::]:80; listen 80; server_name domain.com; return 301 https://www.domain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name domain.com; ssl_certificate /etc/nginx/ssl/live/domain.com/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/live/domain.com/privkey.pem; return 301 https://www.domain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name domain.com; ssl_certificate /etc/nginx/ssl/live/domain.com/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/live/domain.com/privkey.pem; location ~ /.well-known/acme-challenge { allow all; root /var/www/html; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://odoo:8069; } location ~* /web/static/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://odoo:8069; } }
Redémarrez maintenant le service Nginx pour charger les nouvelles configurations.
docker-compose restart nginx
Étape 7 :Configurer Odoo
Vous pouvez maintenant visiter votre nom de domaine sur votre navigateur Web. Vous verrez la page similaire à celle ci-dessous. Ici, vous pouvez créer la base de données et l'utilisateur administrateur pour votre Odoo.

Remplissez toutes les valeurs appropriées et cliquez sur Créer une base de données. Odoo sera maintenant prêt à être utilisé.

Conclusion
Découvrez une présentation complète de l'application de vente Odoo avec des conseils sur l'utilisation des configurations avancées.
Vous avez maintenant appris à installer Odoo 15 sur votre Ubuntu 22.04 avec Docker Compose, Nginx et à le sécuriser avec Let's Encrypt.
Merci pour votre temps. Si vous rencontrez un problème ou si vous avez des commentaires, veuillez laisser un commentaire ci-dessous.