Saltar al contenido

Instalación de Odoo 17 con docker-compose

Publicado: at 05:50 p. m.

Una alternativa para instalar Odoo es a través de Docker, haciendo uso de contenedores para Odoo como su base de datos en Postgres. En este artículo mostraré como configurar el archivo docker-compose.yml desde cero para trabajar con Odoo 17.

También compartiré una plantilla que uso frecuentemente para iniciar nuevos proyectos en Odoo.

Imagen Template Odoo 17

Table of contents

Open Table of contents

Ventajas de usar Docker con Odoo

Al iniciar un proyecto en Odoo, a menudo es necesario instalar librerías adicionales y ajustar configuraciones en el entorno de desarrollo, por lo que puede ser necesario manejar proyectos en diferentes versiones de Odoo al mismo tiempo.

Con Docker, puedes crear un archivo de configuración que automatice la creación de un contenedor con todas las dependencias y configuraciones necesarias para cada proyecto. Esto también facilita el trabajo en equipo, ya que otros desarrolladores pueden levantar el proyecto con la misma configuración sin complicaciones adicionales.

¿Qué sistemas operativos soportan Docker? 🐳

Docker es compatible con Mac, Windows y Linux. Puedes instalarlo siguiendo las instrucciones disponibles en esta guía oficial. Además de Docker, necesitarás docker-compose para gestionar tanto el servicio de Odoo como el de la base de datos Postgres. La instalación de docker-compose también se explica en este enlace.

Repositorio

Puedes acceder al repositorio de la plantilla para instalar Odoo con docker-compose aquí. Sigue este artículo para conocer su estructura y entender su funcionamiento.

Estructura del template Odoo con Docker

Estructura Template Odoo 17

Nota: Hacer una copia de aquellos archivos que inicien con “template” o renombrarlos quitando solo el template.

Explicación de uso

Archivo docker-compose.yml

Archivo docker-compose.yml

En el archivo docker-compose.yml se definen los contenedores para los servicios de Odoo y Postgres. El contenedor de Odoo suele ser nombrado arbitrariamente como “web”, mientras que el de Postgres como “db”.

Estos nombres son personalizables según tus preferencias, pero en esencia representan el servicio web de Odoo y la base de datos de Postgres, respectivamente.

Archivo .env

Archivo docker-compose.yml

El archivo .env está parametrizado, lo que significa que dentro de los archivos de configuración, como docker-compose.yaml, los valores de los parámetros se referencian mediante llaves ${}. Por ejemplo, para utilizar el valor del parámetro WEB_HOST, se debe escribir de esta manera: ${WEB_HOST}.

Todos los valores de estos parámetros están definidos dentro del archivo .env, lo que permite gestionar de forma centralizada las configuraciones del entorno, como los nombres de host, las credenciales, y otras variables importantes para el despliegue del proyecto.

Archivo odoo.conf

Archivo odoo.conf

Este archivo contiene los parámetros de configuración de Odoo que se utilizan para iniciar el servicio. En esta plantilla, los valores que se deben modificar son db_host, db_user y db_password, los cuales están vinculados a las variables definidas en el archivo .env.

Puedes ajustar estos valores según lo que requiera tu proyecto, y si realizas algún cambio en este archivo, será necesario reiniciar el contenedor para aplicar los ajustes. El comando para reiniciar el contenedor es:

docker restart nombre-contenedor

Ejecución

Para levantar Odoo y su base de datos usando docker-compose, primero debes estar ubicado en la raíz del proyecto y ejecutar el siguiente comando:

docker-compose up -d

Publicación anterior
¿Cómo instalar Odoo 18 en Ubuntu?
Siguiente publicación
¿Cómo configurar un servidor de correos en Odoo?