Odoo es una de las plataformas ERP más poderosas y completas del mercado, pero su instalación tradicional puede volverse tediosa debido a sus múltiples dependencias. Aquí es donde entra Docker: una tecnología que te permite levantar entornos de desarrollo y producción en cuestión de minutos, sin afectar tu sistema operativo anfitrión.
En este tutorial te mostraremos cómo instalar Odoo utilizando Docker y Docker Compose sobre una máquina Ubuntu desde cero. Esta configuración no solo es ideal para desarrolladores que desean experimentar o personalizar módulos, sino también para equipos que buscan desplegar Odoo de manera escalable y mantenible en entornos empresariales.
Requisitos previos
Antes de comenzar, asegúrate de contar con:
-
Una máquina Ubuntu 20.04 o 22.04 (puede ser local o servidor remoto).
-
Acceso a una terminal con privilegios de superusuario (sudo).
-
Conexión a internet estable.
Una vez confirmado que todo está en orden, podemos comenzar con la preparación del sistema para instalar Docker y desplegar Odoo:
1. Actualizar el sistema:
Es recomendable comenzar con el sistema actualizado. Para ello, ingresamos lo siguiente:
sudo apt update && sudo apt upgrade -y
2. Instalar Docker y Docker Compose
2.1 Instalación de dependencias necesarias:
Antes de instalar Docker, es necesario asegurarse de que el sistema tenga ciertas herramientas básicas que permiten trabajar con repositorios seguros y certificados. Estos paquetes permiten que apt (el gestor de paquetes de Ubuntu) pueda conectarse a fuentes externas a través de HTTPS y gestionar claves GPG de manera adecuada.
sudo apt install -y ca-certificates curl gnupg
2.2 Añadir la clave GPG oficial de Docker
Para que Ubuntu confíe en el repositorio de Docker, es necesario añadir su clave GPG oficial. Esta clave se utiliza para verificar la autenticidad de los paquetes que descargaremos posteriormente. Sin ella el sistema no podrá validar que los archivos provienen de una fuente legítima y segura.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
2.3 Configurar el repositorio de Docker
Ahora que ya contamos con la clave GPG de Docker, el siguiente paso es añadir el repositorio oficial a la lista de fuentes de apt. Esto permitirá que el sistema pueda buscar e instalar la versión más reciente de Docker directamente desde los servidores de Docker, y no desde los repositorios por defecto de Ubuntu (que suelen estar desactualizados).
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.4 Instalar Docker y plugins necesarios
Una vez agregado el repositorio oficial de Docker, ya estamos en condiciones de instalar Docker Engine, el servicio principal que gestiona los contenedores, así como sus herramientas complementarias.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.5 (Opcional pero recomendado) Permitir el uso del Docker sin sudo
Por defecto, para ejecutar comandos de Docker en Ubuntu, es necesario anteponer sudo. Esto se debe a que Docker se ejecuta como un servicio del sistema con privilegios elevados. Sin embargo, es posible habilitar su uso sin necesidad de sudo en cada comando, añadiendo tu usuario al grupo docker:
sudo usermod -aG docker $USER
Importante: Este cambio no tiene efecto inmediato. Para que los nuevos permisos se apliquen correctamente es necesario cerrar sesión y volver a iniciarla, ejecutar newgrp docker o reiniciar la máquina.
Una vez aplicado podrás utilizar Docker sin necesidad de colocar sudo.
3. Crear el entorno de Odoo
Después de instalar Docker y Docker Compose, el siguiente paso es preparar el entorno donde se ejecutará Odoo. Esto incluye crear una carpeta de trabajo, definir los servicios en un archivo docker-compose.yml y organizar los recursos necesarios para posibles personalizaciones.
3.1 Crear el directorio del proyecto
mkdir ~/odoo-docker
cd ~/odoo-docker
Aquí creamos una carpeta que contendrá todos los archivos y configuraciones necesarias para desplegar Odoo. Al mantener todo centralizado en un solo directorio, es más fácil gestionar el proyecto y realizar futuras actualizaciones o cambios.
3.2 Crear el archivo docker-compose.yml
nano docker-compose.yml
Dentro del archivo pegamos lo siguiente:
version: '3.8'
services:
db:
image: postgres:15
container_name: odoo_db
environment:
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=mi_clave_secreta #Cambia esta contraseña
- POSTGRES_DB=postgres
restart: always
volumes:
- odoo_db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U odoo"]
interval: 10s
timeout: 5s
retries: 5
odoo:
image: odoo:17.0
container_name: odoo_app
depends_on:
db:
condition: service_healthy
ports:
- "8069:8069"
environment:
- HOST=db
- USER=odoo
- PASSWORD=mi_clave_secreta
volumes:
- odoo_web_data:/var/lib/odoo
- ./addons:/mnt/extra-addons
restart: always
volumes:
odoo_db_data:
odoo_web_data:
Guarda y cierra el archivo (Ctrl+X, luego Y y Enter).
Este archivo es el corazón del despliegue con Docker Compose. Define los servicios necesarios (como Odoo y PostgreSQL), los volúmenes de datos, las variables de entorno y las configuraciones de red. En él se especifica qué imágenes usar y cómo se comunican entre sí los contenedores.
4. Iniciar los servicios
Dentro del directorio ~/odoo-docker, ejecuta:
docker compose up -d
Esto descargará las imágenes y levantará los contenedores en segundo plano.
- Verifica que los servicios estén activos:
docker compose ps
- Consultar los logs de Odoo (si algo falla)
docker compose logs -f odoo
5. Acceder a la instancia de Odoo
Abre a tu navegador y accede a:
- http://localhost:8069 si estás en la misma máquina
- http://<IP_de_tu_servidor>:8069 si es una máquina remota
Verás la pantalla de creación de base de datos. Define un nombre, elige una contraseña maestra (o usa la que aparece en los logs) y completa el formulario para iniciar sesión.
6. Detener los servicios
Para detener los contenedores sin perder los datos:
docker compose down
Los volúmenes se mantienen, por lo que la información y configuración se conservarán.
¡Y listo! con esto ya tienes una instancia funcional de Odoo corriendo en tu máquina Ubuntu, completamente aislada, limpia y lista para usar. Ya puedes acceder a tu panel de Odoo desde el navegador, empezar a crear bases de datos, instalar módulos, personalizar funciones y explorar todo lo que esta potente plataforma ERP tiene para ofrecer.
Y lo mejor de todo: si algo falla o necesitas mover tu instalación a otro servidor, basta con copiar tu carpeta de proyecto y lanzar un simple docker compose up -d.
Explora más temas en nuestra categoría Tecnología
¿Tienes dudas o necesitas ayuda? Escríbenos