Installa Odoo 15 utilizzando Docker Compose, Nginx, SSL su Ubuntu 22.04 . In questo tutorial imparerai come installare e configurare Odoo usando Docker e Docker Compose e configurare Nginx e Let's Encrypt SSL e anche installare PostgreSQL. L'installazione di Odoo tramite Docker Compose è il modo più semplice rispetto all'installazione manuale.
Odoo è un software gestionale self-hosted per gestire un'azienda con un'esperienza utente di prim'ordine. Le applicazioni all'interno di Odoo sono perfettamente integrate tra loro, consentendoti di automatizzare completamente i tuoi processi aziendali facilmente.
Prerequisiti
- Installa Docker su Ubuntu 22.04
- Installa Docker Compose su Ubuntu 22.04.
Assicurati di aver completato tutti i passaggi sopra menzionati
- Dominio puntato all'indirizzo IP del tuo server
- Docker installato e configurato
- Docker Compose installato e configurato
Fase 1:crea una directory di progetto
SSH al tuo server e inizia creando una nuova directory di progetto denominata odoo-project
. Puoi anche nominarlo come preferisci.
mkdir odoo-project
Passaggio 2:crea Docker Componi file YAML
Ora naviga all'interno della directory del progetto e crea un nuovo file docker-compose.yml con la seguente configurazione.
cd odoo-project
nano docker-compose.yml
Incolla la seguente configurazione.
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:
Premi CTRL + X
seguito da Y
e Enter
per salvare il file ed uscire.
Ecco i dettagli della configurazione.
- versione :Componi la versione del file compatibile con Docker Engine. Puoi verificare la compatibilità qui.
- servizi :qui abbiamo 4 servizi denominati
odoo
,postgres
,nginx
ecertbot
. - immagine :utilizziamo le ultime immagini di Odoo 15, Postgres 14, Nginx e Certbot disponibili nell'hub Docker.
- volumi :
nginx/conf
:qui collocheremo il file di configurazione di Nginx da sincronizzare con la cartella Nginx conf.d predefinita all'interno del contenitore.etc/odoo
:qui posizioneremo la configurazione del database di Odoo 15.cedtbot/conf
:è qui che riceveremo il certificato SSL e questo verrà sincronizzato con la cartella che desideriamo all'interno del contenitore.ports
:configura il container per l'ascolto sulle porte elencate.command
:il comando utilizzato per ricevere il certificato SSL.
Fase 3:crea la configurazione di Odoo
Ora puoi utilizzare la configurazione Odoo personalizzata all'interno della directory come indicato nel file yml nel servizio Oddo.
mkdir -p etc/odoo
Crea un nuovo file chiamato odoo.conf
nano etc/odoo/odoo.conf
Sostituisci i valori evidenziati corrispondenti ai tuoi valori PostgreSQL.
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = postgres db_user = odoo db_password = odoo
Qui useremo il nome host uguale al nome del servizio PostgreSQL.
Fase 4:Configura Nginx
Ora puoi creare il file di configurazione predefinito all'interno della directory come indicato nel file yml nel servizio Nginx.
mkdir -p nginx/conf
Crea un nuovo file chiamato default.conf
nano nginx/conf/default.conf
Incolla la seguente configurazione e sostituisci i valori appropriati con il tuo nome di dominio.
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; } }
Passaggio 5:distribuisci Odoo con Docker
Ora puoi effettuare la distribuzione usando il comando seguente.
Avvia i contenitori usando il seguente comando, riceverai i certificati SSL una volta avviati i contenitori.
docker-compose up -d
Una volta avviati tutti i contenitori, vedrai che verranno create directory aggiuntive per SSL insieme al tuo docker-compose.yml
file.
La directory certbot
contiene tutti i file relativi ai tuoi certificati SSL.
Per visualizzare i contenitori puoi eseguire il seguente comando.
docker-compose ps
Passaggio 6:configura SSL per Odoo in Docker
Dopo aver ricevuto il certificato Let's Encrypt SSL, puoi configurare HTTPS e impostare il reindirizzamento su HTTPS.
Modifica il default.conf
e apportare le seguenti modifiche.
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; } }
Ora riavvia il servizio Nginx per caricare le nuove configurazioni.
docker-compose restart nginx
Fase 7:imposta Odoo
Ora puoi visitare il tuo nome di dominio sul tuo browser web. Vedrai la pagina simile a quella qui sotto. Qui puoi creare il database e l'utente amministratore per il tuo Odoo.

Compila tutti i valori appropriati e fai clic su Crea database. Ora Odoo sarà pronto per l'uso.

Conclusione
Scopri una panoramica completa dell'applicazione di vendita Odoo con suggerimenti sull'utilizzo di configurazioni avanzate.
Ora hai imparato come installare Odoo 15 sul tuo Ubuntu 22.04 con Docker Compose, Nginx e proteggerlo con Let's Encrypt.
Grazie per il tuo tempo. In caso di problemi o feedback, lasciare un commento qui sotto.