Skip to content

Odoo - el erp opensource por excelencia

Aprende sobre Odoo, un proyecto opensource de gran alcance que se enfoca en el erp, contiene módulos para gestionar tu empresa desde un solo lugar.

Volver a Página Principal

Ver Tutorial en YouTube

🚀 Odoo 19 + PostgreSQL (Multi-Runtime: Docker & Podman)

Section titled “🚀 Odoo 19 + PostgreSQL (Multi-Runtime: Docker & Podman)”

Este proyecto despliega una instancia resiliente de Odoo 19 con persistencia de datos y soporte para módulos personalizados. Está diseñado para funcionar indistintamente con Docker Compose o Podman Compose.


Puedes elegir cualquiera de estos dos motores:

  • Opción A: Docker (Docker Engine + Docker Compose)
  • Opción B: Podman (Podman + Podman Compose / Podman-docker)

📂 Configuración del Archivo docker-compose.yml

Section titled “📂 Configuración del Archivo docker-compose.yml”

He actualizado la configuración a Odoo 19.0. Se han añadido políticas de reinicio y una gestión de volúmenes que garantiza la compatibilidad con los contextos de seguridad (SELinux) de Podman mediante el sufijo :z.

services:
web:
image: odoo:19.0
depends_on:
- db
ports:
- "8069:8069"
volumes:
- ./custom_addons:/mnt/extra-addons:z
# Importante: Mantenemos la ruta base para no perder los módulos oficiales
command: --addons-path=/mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons
restart: always
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
volumes:
- odoo_db_data:/var/lib/postgresql/data
restart: always
volumes:
odoo_db_data:

Antes de empezar, crea la carpeta de módulos:

Terminal window
mkdir custom_addons

Si utilizas el motor tradicional de Docker:

Terminal window
# Levantar el stack
docker compose up -d
# Ver logs
docker compose logs -f

Podman gestiona los volúmenes de forma más estricta. La configuración ya incluye :z para que Podman reetiquete automáticamente los permisos de SELinux en la carpeta custom_addons.

Terminal window
# Levantar el stack con podman-compose
podman-compose up -d
# Si usas el comando nativo de podman para ver los pods
podman pod ps

Para importar nuevos módulos en cualquiera de las dos plataformas:

  1. Añadir: Copia la carpeta de tu módulo dentro de ./custom_addons.
  2. Permisos (Solo Podman): Si tienes problemas de permisos en Linux, ejecuta: chown -R 101:101 ./custom_addons (101 es el ID de usuario por defecto en la imagen de Odoo).
  3. Activar:
  • Entra en Odoo (http://localhost:8069).
  • Activa el Modo Desarrollador.
  • En Aplicaciones, pulsa en Actualizar lista de aplicaciones.

CaracterísticaDockerPodman
DaemonRequiere un servicio corriendo (Root)Daemonless (Rootless disponible)
SeguridadMenos restrictivo por defectoMás seguro (usa SELinux/remapping)
Comandosdocker composepodman-compose o podman compose

  • Persistencia: La base de datos se guarda en el volumen nombrado odoo_db_data. Aunque borres los contenedores, tus datos están a salvo.
  • Auto-reinicio: Si el servidor se apaga inesperadamente, el parámetro restart: always asegura que Odoo y la DB vuelvan a levantarse automáticamente al iniciar el motor.