Categoría: Web y aplicaciones
Odoo gestionado en vuestro servidor: PostgreSQL, workers, módulos y cambios de versión
El ERP de vuestra empresa en un servidor que controláis, con la base de datos cuidada, las copias completas y cada cambio de versión ensayado antes de que lo note nadie en la oficina.
- Dónde se monta
- En vuestra cuenta, a vuestro nombre
- Copias
- Con restauración probada
- Actualizaciones
- Planificadas y documentadas
- Licencia
- Community, LGPLv3; Enterprise, licencia propietaria con suscripción a vuestro nombre
En resumen
Odoo es un ERP de código abierto con módulos de ventas, compras, inventario, contabilidad, CRM y muchos más. Lo instalamos en vuestra cuenta en edición Community o Enterprise, con PostgreSQL ajustado, workers y websocket detrás de un proxy, y copias de base de datos y filestore que restauramos en pruebas. Mantenemos los módulos al día y preparamos los cambios de versión mayor con un ensayo previo.
¿Qué nos encargamos de mantener?
Odoo suele empezar como un servidor de prueba y acaba siendo el sitio donde se facturan las ventas, se controla el almacén y se lleva la contabilidad. A esas alturas, un fallo deja a media empresa sin trabajar. Esto es lo que dejamos bajo control:
Odoo
Instalación, configuración y procesos con límites de memoria y tiempo, todo descrito en vuestro repositorio.
PostgreSQL
Base de datos ajustada a Odoo, vacuum vigilado y acceso solo desde la red privada.
Módulos
Oficiales, de la OCA o de vuestro partner, instalados desde Git y probados antes de producción.
Tareas programadas
Las acciones planificadas de Odoo corriendo a su hora, con aviso si se quedan atascadas.
Seguridad
HTTPS, gestor de bases de datos web cerrado, usuarios nominales y doble factor.
Versiones
Parches al día y cambios de versión mayor ensayados sobre una copia.
¿Cómo lo montamos?
Odoo arranca por defecto con un solo proceso, que basta para probar pero se queda corto en cuanto varias personas trabajan a la vez. En producción lo dejamos así:
Workers
Modo multiproceso con un número de workers ajustado a los núcleos y la memoria, y límites que reinician un proceso que se dispara.
Websocket
Las notificaciones y el chat van por un puerto propio de Odoo, que Nginx sirve en la misma dirección con HTTPS.
PostgreSQL
En el mismo servidor para una instalación pequeña, o aparte cuando la base de datos crece o se consulta desde fuera.
Copias externas
Base de datos y filestore juntos, cifrados, en un almacenamiento de objetos de otra ubicación.
Instalamos también las dependencias que Odoo necesita para los informes en PDF, en la versión que indica su documentación, porque una distinta deja facturas mal maquetadas.
¿Qué problemas encontramos más a menudo?
- Gestor de bases de datos abierto: la página que permite descargar o borrar la base de datos entera, accesible desde internet.
- Un solo proceso: Odoo sin workers se queda colgado cuando alguien genera un informe pesado.
- Copia sin filestore: se guarda la base de datos, pero no los adjuntos.
- Versión fuera de soporte: Odoo mantiene las últimas versiones mayores y las antiguas dejan de recibir correcciones.
- Módulos copiados a mano: carpetas en el servidor que no están en ningún repositorio y nadie sabe de dónde salieron.
- Correo saliente sin configurar bien: facturas y presupuestos que acaban en la carpeta de spam del cliente.
¿Cómo preparamos un cambio de versión?
Odoo publica una versión mayor al año y cada una cambia la estructura de la base de datos y la forma de escribir los módulos. Por eso no hay actualización en caliente: hay que migrar los datos y adaptar el código. Hacemos una copia de producción, la migramos con el servicio de actualización de Odoo si tenéis Enterprise o con OpenUpgrade si tenéis Community, y la montamos en un entorno de pruebas con los módulos ya adaptados por quien los desarrolló. Vuestro equipo prueba sus procesos del día a día: un pedido, una factura, un movimiento de almacén. Cuando todo cuadra, repetimos la migración con los datos del día en una ventana fuera de horario.
¿Cómo hacemos las copias y la restauración?
Cada noche copiamos la base de datos de PostgreSQL y el filestore en el mismo momento, para que coincidan, y los enviamos cifrados fuera del servidor. Cuando la base de datos es grande, la tratamos como en PostgreSQL gestionado, con archivado continuo para recuperar a un minuto concreto. Periódicamente restauramos en un servidor de prueba, entramos en Odoo y abrimos algunos documentos con adjuntos; el tiempo que tarda queda en el informe.
¿Cómo es el trabajo con vuestro partner de Odoo?
Si tenéis un partner que configura Odoo o desarrolla módulos, cada uno hace lo suyo. Él trabaja en su entorno y entrega los módulos en un repositorio; nosotros los pasamos a un entorno de pruebas con una copia reciente de producción y, cuando vuestro equipo los valida, los instalamos en producción en una ventana avisada. Así nadie toca el servidor de producción a mano. Si queréis el inicio de sesión de Odoo unificado con el resto de herramientas, lo conectamos con Keycloak mediante un módulo de OpenID Connect. Si queréis que alguien responda de Odoo y de su servidor cada mes, está en el SRE como servicio.
- NginxHTTPS y websocket
- OdooWorkers y tareas programadas
- PostgreSQLBase de datos
- FilestoreAdjuntos
- CopiasBase de datos y filestore, fuera
¿Dónde lo montamos?
En vuestra cuenta, en el proveedor que ya uséis o en el que mejor encaje. Si los datos tienen que quedarse en la UE, Hetzner y OVHcloud son las opciones europeas.
Proveedores en los que lo montamos
- Hetzner
- AWS
- Google Cloud
- DigitalOcean
- OVH
- Servidor propio
| Proveedor | Cómo lo montamos | A tener en cuenta |
|---|---|---|
| Hetzner | Servidor cloud o dedicado con Odoo y PostgreSQL, y copias en Object Storage de Hetzner, compatible con S3. | Para una pyme, un solo servidor bien dimensionado suele bastar. |
| AWS | EC2 con Odoo, RDS for PostgreSQL si encaja y copias del filestore en S3. | |
| Google Cloud | Compute Engine con Odoo y Cloud SQL para PostgreSQL, con copias en Cloud Storage. | |
| DigitalOcean | Droplet con Odoo y PostgreSQL gestionado de DigitalOcean, con copias en Spaces. | |
| OVH | Instancia de Public Cloud o servidor dedicado, con copias en Object Storage de OVHcloud. | |
| Servidor propio | Odoo en vuestro servidor o en una máquina virtual de vuestra oficina, publicado con un proxy o un túnel. | Si es el ERP de toda la empresa, la copia sale fuera del edificio cada día. |
Qué incluye
- Odoo Community o Enterprise instalado en vuestra cuenta, con la versión de Python y las dependencias que pide cada versión.
- PostgreSQL ajustado a Odoo, en el mismo servidor o aparte, con acceso solo desde la red privada.
- Modo multiproceso con workers, límites de memoria y tiempo, y el puerto de websocket detrás de Nginx con HTTPS.
- Gestor de bases de datos web desactivado y contraseña maestra fuera del alcance de los usuarios.
- Módulos oficiales, de la OCA o propios instalados desde vuestro repositorio, con un entorno de pruebas para validarlos.
- Copias de la base de datos y del filestore juntas, fuera del servidor, con restauración de prueba periódica.
- Cambios de versión mayor planificados y ensayados sobre una copia antes de tocar producción.
- Monitorización de workers, tareas programadas, correo saliente, base de datos, disco y certificados.
Preguntas frecuentes
¿Nos vendéis la licencia de Odoo Enterprise?
No. La edición Community es software libre y no necesita licencia. Si queréis Enterprise, la suscripción la contratáis vosotros con Odoo o con un partner oficial y queda a nombre de vuestra empresa; nosotros instalamos los módulos Enterprise en vuestro servidor y registramos la base de datos con vuestro código de suscripción.
¿Odoo Online, Odoo.sh o nuestro propio servidor?
Odoo Online es lo más sencillo, pero no admite módulos propios. Odoo.sh es la plataforma del propio fabricante para Enterprise con desarrollo a medida. Un servidor propio tiene sentido si usáis Community, si queréis elegir proveedor y ubicación de los datos o si necesitáis acceso directo a la base de datos para integraciones o informes.
¿Cómo se hace un cambio de versión mayor?
Se ensaya primero. Con Enterprise, la migración de los datos la hace el servicio de actualización de Odoo; con Community, usamos OpenUpgrade de la OCA cuando cubre vuestros módulos. En los dos casos los módulos propios o de terceros hay que adaptarlos a la versión nueva. Montamos la base de datos migrada en un entorno de pruebas, vuestro equipo comprueba sus procesos y solo entonces fijamos la fecha.
¿Desarrolláis módulos a medida?
No es lo que hacemos. Nos ocupamos del servidor, la base de datos, las copias, las actualizaciones y la instalación de los módulos que desarrolle vuestro partner o vuestro equipo. Si trabajáis con un partner de Odoo, le damos un entorno de pruebas y un camino ordenado para llevar sus cambios a producción.
¿Qué copia necesitamos para recuperar Odoo entero?
Dos piezas a la vez: la base de datos de PostgreSQL y el filestore, la carpeta donde Odoo guarda los adjuntos, las imágenes y los documentos. Una sin la otra deja facturas sin PDF o productos sin foto. Las copiamos juntas, fuera del servidor, y comprobamos en pruebas que una restauración abre los documentos.
Contadnos vuestro caso
En una llamada gratuita de 20 minutos vemos dónde estáis y por dónde empezar. Sin compromiso.
Documentación oficial consultada
Los datos técnicos de esta página se basan en:
Revisado el