DOCKER - ODOO

🧾🐳 ERP y CRM con Odoo en Docker

En esta práctica se levanta Odoo, una suite de gestión empresarial de código abierto que integra CRM, facturación, inventario, ventas y proyectos sobre una única base de datos, desplegada con Docker Compose junto con PostgreSQL y un proxy inverso con HTTPS propio.

El escenario parte de una situación muy habitual en pymes y autónomos: la gestión del negocio repartida entre varias herramientas sueltas —una hoja de cálculo para el inventario, una aplicación de facturación por un lado, un CRM en la nube por otro—, sin que ninguna hable con las demás. Odoo resuelve esto integrando todos esos módulos sobre la misma base de datos, de forma que un pedido de venta, por ejemplo, actualiza el inventario y genera la factura sin que nadie tenga que introducir el mismo dato dos veces en sistemas distintos.

🧰 Tecnologías empleadas

Docker y Docker Compose Motor de contenedores que aloja las tres piezas del despliegue (base de datos, servidor de aplicación y proxy inverso) como servicios independientes, con las credenciales gestionadas en un archivo .env separado.

Odoo Suite de gestión empresarial que centraliza CRM, facturación, inventario, ventas y otros módulos sobre una misma base de datos, con un asistente web para la creación de cada base de datos independiente.

PostgreSQL Motor de base de datos donde Odoo persiste toda la información de cada empresa gestionada: contactos, productos, facturas, movimientos de inventario y configuración.

Nginx como proxy inverso Pieza que sirve el certificado HTTPS delante de Odoo, necesario para que funcionen correctamente las capacidades del navegador que la aplicación utiliza en tiempo real, como las notificaciones del chat interno.

Certificado autofirmado Certificado HTTPS generado localmente con OpenSSL para la IP del propio servidor, sin depender de una autoridad de certificación pública ni de un dominio, adecuado para una instalación interna o de evaluación.

🎯 Objetivos de la práctica

El objetivo principal es demostrar que una suite de gestión empresarial completa se puede desplegar de forma autoalojada, en un entorno controlado, sin depender de una licencia en la nube, y aplicando desde el primer momento las dos medidas de seguridad que cualquier instalación de Odoo debería tener y que con demasiada frecuencia se dejan en su valor por defecto.

De forma más concreta, se busca desplegar Odoo con su base de datos y un proxy con HTTPS propio, sustituir la contraseña maestra por una propia antes de crear ninguna base de datos, crear la primera base de datos desde el asistente web, cerrar el acceso público al gestor de bases de datos una vez creada, y validar que el acceso completo funciona correctamente desde el navegador.

🧩 Desarrollo de la práctica

Levantar la base de datos y Odoo con Docker Se define el despliegue de PostgreSQL y Odoo en Docker Compose, con las credenciales aisladas en un archivo .env independiente.

Configurar la contraseña maestra Se sustituye la contraseña maestra por defecto de Odoo, ampliamente conocida, por una propia. Esa contraseña es la que protege la capacidad de crear o borrar bases de datos completas, no el acceso a una empresa en concreto.

Configurar el proxy inverso con HTTPS propio Se despliega un proxy inverso que sirve un certificado autofirmado válido para la IP del servidor, necesario para que funcionen correctamente las notificaciones en tiempo real y otras capacidades del navegador que Odoo utiliza.

Crear la primera base de datos Se accede al asistente web de creación de bases de datos, protegido por la contraseña maestra ya sustituida, y se configura la primera empresa con su usuario administrador.

Cerrar el gestor de bases de datos Una vez creada la base de datos necesaria, se cierra el acceso público a la pantalla de gestión de bases de datos, de forma que ya no sea posible crear ni borrar bases de datos desde fuera, aunque alguien conociera la contraseña maestra.

Verificación de extremo a extremo Se inicia sesión desde el navegador con el usuario administrador creado, y se confirma que el escritorio de aplicaciones de Odoo carga correctamente y permite navegar entre los distintos módulos.

🔍 ¿Por qué es importante esta práctica?

Una instalación de Odoo con la contraseña maestra por defecto y el gestor de bases de datos abierto al público es una de las configuraciones más buscadas y explotadas en instalaciones expuestas a internet: con esos dos datos, cualquiera puede crear bases de datos nuevas o borrar las existentes sin necesidad de conocer ninguna credencial de usuario. Cerrar ambas cosas desde el primer despliegue, en lugar de dejarlo para más adelante, es la diferencia entre una instalación razonablemente segura y una expuesta por descuido.

Además, desplegar una suite de gestión empresarial completa mediante contenedores demuestra que la complejidad de un ERP no está reñida con un despliegue reproducible y auditable: la misma definición de Docker Compose que se usa para la práctica sirve como base directa para un despliegue real.

✅ Resultados esperados

Al finalizar la práctica, Odoo queda desplegado con HTTPS propio, accesible desde cualquier equipo de la red, con la contraseña maestra sustituida por una propia y el gestor de bases de datos cerrado al público, con la primera empresa creada y operativa desde el escritorio de aplicaciones.

🏢 Propuesta empresarial

Clockwork Computer necesita centralizar la gestión de su actividad —contactos, ventas, inventario y facturación— en una única plataforma, en lugar de mantenerla repartida entre varias herramientas sueltas que no se comunican entre sí.

El departamento de IT ha decidido desplegar Odoo de forma autoalojada con Docker, con HTTPS propio y las medidas de seguridad básicas aplicadas desde el primer momento, de forma que la información de gestión de la empresa quede bajo su propio control.

📌 Escenario propuesto

Clockwork Computer dispone de un servidor con Docker donde desplegar su plataforma de gestión interna. El objetivo es que el servicio sea accesible por HTTPS desde cualquier equipo de la red, con una única base de datos operativa protegida frente a la creación o el borrado no autorizado de nuevas bases de datos.

🎯 Requisitos técnicos solicitados por la empresa

La empresa solicita implementar las siguientes tareas:

Levantar Odoo y su base de datos en Docker, con las credenciales gestionadas de forma segura y separadas del propio despliegue. Configurar un proxy inverso con HTTPS, aunque sea con un certificado autofirmado, para que todas las funciones de la aplicación funcionen correctamente en el navegador. Sustituir la contraseña maestra por defecto por una propia antes de crear ninguna base de datos. Crear la primera base de datos con su usuario administrador desde el asistente web. Cerrar el acceso público al gestor de bases de datos una vez completada la configuración inicial. Verificar que el acceso y la navegación por los distintos módulos funcionan correctamente desde el navegador.

🔐 Justificación técnica y de seguridad

Clockwork Computer necesita evitar la configuración por defecto más explotada en instalaciones de Odoo accesibles en red: una contraseña maestra conocida combinada con el gestor de bases de datos abierto al público, que permitiría a cualquiera crear o eliminar bases de datos completas sin necesidad de ninguna credencial de usuario válida.

Servir la aplicación bajo HTTPS, aunque sea con un certificado autofirmado mientras no exista un dominio público, es necesario para que funcionen correctamente las capacidades del navegador que Odoo utiliza en tiempo real, y sienta además la base para migrar sin fricciones a un certificado válido el día que el servicio deba ser accesible desde fuera de la red interna.

🧪 Validación esperada

Al finalizar la práctica, Clockwork Computer deberá comprobar que el acceso a Odoo funciona correctamente por HTTPS, que la contraseña maestra ya no es la que trae por defecto, que el gestor de bases de datos no es accesible desde fuera, y que el usuario administrador creado puede iniciar sesión y navegar por los módulos de la aplicación sin errores.

✅ Resultado empresarial esperado

Como resultado final, Clockwork Computer dispondrá de una plataforma de gestión empresarial propia, con su información centralizada bajo su propio control y protegida frente a las configuraciones por defecto más habituales en instalaciones expuestas. El despliegue queda documentado y reproducible, preparado para ampliarse en el futuro con módulos adicionales o un certificado válido si el servicio necesita salir fuera de la red local.

🔗 Enlaces de interés

DOCUMENTACIÓN

Comentarios

Entradas populares