Instale Odoo 15 usando Docker Compose, Nginx, SSL en Ubuntu 22.04. En este tutorial, aprenderá cómo instalar y configurar Odoo usando Docker y Docker Compose y configurar Nginx y Let's Encrypt SSL y también instalar PostgreSQL. Instalar Odoo usando Docker Compose es la forma más fácil en comparación con la instalación manual.
Odoo es un software de gestión autohospedado para administrar un negocio con una experiencia de usuario de primer nivel. Las aplicaciones dentro de Odoo están perfectamente integradas entre sí, lo que le permite automatizar completamente sus procesos comerciales fácilmente.
Requisitos
- Instalar Docker en Ubuntu 22.04
- Instalar Docker Compose en Ubuntu 22.04.
Asegúrese de haber completado todos los pasos mencionados anteriormente
- El dominio apuntó a la dirección IP de su servidor
- Docker instalado y configurado
- Docker Compose instalado y configurado
Paso 1:Crear un directorio de proyectos
SSH a su servidor y comience creando un nuevo directorio de proyecto llamado odoo-project
. También puedes ponerle el nombre que necesites.
mkdir odoo-project
Paso 2:Crear un archivo YAML de Docker Compose
Ahora navegue dentro del directorio del proyecto y cree un nuevo archivo docker-compose.yml con la siguiente configuración.
cd odoo-project
nano docker-compose.yml
Pegue la siguiente configuración.
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:
Presiona CTRL + X
seguido de Y
y Enter
para guardar el archivo y salir.
Aquí están los detalles de configuración.
- versión :Compone la versión del archivo que es compatible con Docker Engine. Puede comprobar la compatibilidad aquí.
- servicios :aquí tenemos 4 servicios llamados
odoo
,postgres
,nginx
ycertbot
. - imagen :Utilizamos las últimas imágenes de Odoo 15, Postgres 14, Nginx y Certbot disponibles en Docker hub.
- volúmenes :<último>
nginx/conf
:aquí colocaremos el archivo de configuración de Nginx para que se sincronice con la carpeta Nginx conf.d predeterminada dentro del contenedor.etc/odoo
:aquí colocaremos la configuración de la base de datos de Odoo 15.cedtbot/conf
:aquí es donde recibiremos el certificado SSL y este se sincronizará con la carpeta que deseamos dentro del contenedor.ports
:configurar el contenedor para escuchar en los puertos enumerados.command
:el comando utilizado para recibir el certificado SSL.
Paso 3:Crear la configuración de Odoo
Ahora puede usar la configuración personalizada de Odoo dentro del directorio como se menciona en el archivo yml en el servicio de Oddo.
mkdir -p etc/odoo
Crea un nuevo archivo llamado odoo.conf
nano etc/odoo/odoo.conf
Reemplace los valores resaltados correspondientes a sus valores de PostgreSQL.
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = postgres db_user = odoo db_password = odoo
Aquí usaremos el mismo nombre de host que el nombre del servicio de PostgreSQL.
Paso 4:configurar Nginx
Ahora puede crear el archivo de configuración predeterminado dentro del directorio como se menciona en el archivo yml en el servicio Nginx.
mkdir -p nginx/conf
Crea un nuevo archivo llamado default.conf
nano nginx/conf/default.conf
Pegue la siguiente configuración y reemplace los valores apropiados con su nombre de 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; } }
Paso 5:implementar Odoo con Docker
Ahora puede realizar la implementación con el siguiente comando.
Inicie los contenedores con el siguiente comando, recibirá los certificados SSL una vez que se inicien los contenedores.
docker-compose up -d
Una vez que se inicien todos los contenedores, verá que se crearán directorios adicionales para SSL junto con su docker-compose.yml
archivo.
El directorio certbot
contiene todos los archivos relacionados con sus certificados SSL.
Para ver los contenedores puede ejecutar el siguiente comando.
docker-compose ps
Paso 6:Configurar SSL para Odoo en Docker
Como ha recibido el certificado SSL de Let's Encrypt, puede configurar HTTPS y configurar la redirección a HTTPS.
Edite el default.conf
y realice los siguientes cambios.
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; } }
Ahora reinicie el servicio Nginx para cargar las nuevas configuraciones.
docker-compose restart nginx
Paso 7:Configurar Odoo
Ahora puede visitar su nombre de dominio en su navegador web. Verá una página similar a la siguiente. Aquí puede crear la base de datos y el usuario administrador para su Odoo.
Complete todos los valores apropiados y haga clic en crear base de datos. Ahora Odoo estará listo para usar.
Conclusión
Aprenda un recorrido completo por la aplicación de ventas de Odoo con consejos sobre el uso de configuraciones avanzadas.
Ahora ha aprendido cómo instalar Odoo 15 en su Ubuntu 22.04 con Docker Compose, Nginx y asegurarlo con Let's Encrypt.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.