Curso odoo (Módulos)

Aquí tienes los pasos detallados para montar un contenedor de Odoo tanto en Windows como en macOS usando Docker:

Paso 1: Instalar Docker

Primero, necesitas instalar Docker en tu sistema.

En Windows:

  1. Ve a la página oficial de Docker: Docker Desktop para Windows.
  2. Descarga e instala Docker Desktop para Windows.
  3. Asegúrate de que Docker está corriendo. Puedes verificarlo abriendo la terminal (PowerShell o CMD) y ejecutando:
    1docker --version

En macOS:

  1. Ve a la página oficial de Docker: Docker Desktop para Mac.
  2. Descarga e instala Docker Desktop para macOS.
  3. Verifica la instalación abriendo la terminal y ejecutando:
    1docker --version

Paso 2: Descargar la imagen de Odoo

Odoo tiene una imagen oficial en Docker Hub. Abre una terminal (CMD o PowerShell en Windows, Terminal en macOS) y ejecuta el siguiente comando para descargar la imagen oficial de Odoo:

1docker pull odoo

Paso 3: Crear una red de Docker (opcional pero recomendable)

Esto te permite conectar contenedores de manera más fácil. Para crear una red, ejecuta:

1docker network create odoo-network

Paso 4: Ejecutar un contenedor de PostgreSQL

Odoo requiere una base de datos PostgreSQL para funcionar. Vamos a crear un contenedor de PostgreSQL usando la imagen oficial de PostgreSQL.

En ambos sistemas (Windows/macOS):

  1. Ejecuta el siguiente comando para iniciar un contenedor de PostgreSQL:

    1docker run -d --name odoo-postgres --network odoo-network -e POSTGRES_DB=postgres -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres:13
    • --name odoo-postgres: Nombra el contenedor como odoo-postgres.
    • --network odoo-network: Conecta el contenedor a la red personalizada odoo-network.
    • -e POSTGRES_DB=postgres: Define la base de datos por defecto como postgres.
    • -e POSTGRES_USER=odoo: Define el usuario de la base de datos como odoo.
    • -e POSTGRES_PASSWORD=odoo: Define la contraseña para el usuario de la base de datos.

Paso 5: Ejecutar un contenedor de Odoo

Ahora puedes ejecutar el contenedor de Odoo:

En ambos sistemas (Windows/macOS):

  1. Ejecuta el siguiente comando para iniciar el contenedor de Odoo:

    1docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo odoo
    • --name odoo: Nombra el contenedor como odoo.
    • --network odoo-network: Conecta el contenedor a la red personalizada odoo-network.
    • -p 8069:8069: Expone el puerto 8069 en tu máquina local para acceder a la interfaz web de Odoo.
    • -e HOST=odoo-postgres: Conecta el contenedor de Odoo al contenedor de PostgreSQL que ejecutamos previamente.
    • -e DB_USER=odoo: Define el usuario de la base de datos en Odoo.
    • -e DB_PASSWORD=odoo: Define la contraseña de la base de datos en Odoo.

Paso 6: Acceder a Odoo

  1. Abre un navegador web y ve a la siguiente dirección:

  2. Deberías ver la pantalla de configuración de Odoo donde podrás crear una nueva base de datos para comenzar a usar Odoo.

Paso 7: Detener y eliminar los contenedores (si es necesario)

Si necesitas detener o eliminar los contenedores en algún momento, puedes usar los siguientes comandos:

  1. Para detener los contenedores:

    1docker stop odoo odoo-postgres
  2. Para eliminar los contenedores:

    1docker rm odoo odoo-postgres

Paso 8: (Opcional) Volúmenes de Docker

Si deseas persistir los datos de Odoo y PostgreSQL entre reinicios de contenedores, puedes montar volúmenes en los contenedores. Por ejemplo:

  • Para el contenedor de PostgreSQL:

    1docker run -d --name odoo-postgres --network odoo-network -e POSTGRES_DB=postgres -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres:13
  • Para el contenedor de Odoo Mac y Linux:

    1mkdir ~/extra-addons 
    2docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo -v odoo-data:/var/lib/odoo -v ~/extra-addons:/mnt/extra-addons odoo
  • Para el contenedor de Odoo Windows:

    1mkdir ~/extra-addons 
    2docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo -v C:\odoo\modulos:/mnt/extra-addons odoo

De esta forma, los datos de ambos contenedores estarán almacenados en volúmenes persistentes de Docker, y podrás reiniciar los contenedores sin perder información.