Skip to content

Manexware/odoo_docker

Repository files navigation

Proyecto productivo Odoo 19 Enterprise dockerizado

Este proyecto entrega un stack productivo 100% dockerizado con estos servicios:

  • db → PostgreSQL 16
  • odoo19-web → HTTP + websocket/gevent
  • odoo19-worker → cron y background, sin HTTP
  • nginx → reverse proxy; arranca en HTTP temporal y luego pasa a HTTPS
  • certbot → emisión y renovación de certificados Let's Encrypt
  • backup → respaldo diario de base de datos y filestore

Estructura

.
├── docker-compose.yml
├── Dockerfile
├── .env.example
├── requirements.txt
├── config/
│   └── odoo.conf.template
├── docker/
│   └── entrypoint/
│       ├── docker-entrypoint.sh
│       └── render-odoo-config.sh
├── nginx/
│   ├── templates/
│   │   └── default.conf.template
│   └── certs/
├── postgres/
│   └── init/
│       └── 01-init-odoo.sh
├── addons/
│   ├── apps_store/
│   └── manexware/
├── enterprise/
├── scripts/
└── docs/

Prerrequisitos

  • Linux x86_64
  • Docker Engine
  • Docker Compose Plugin
  • DNS del dominio apuntando al servidor
  • Puertos 80 y 443 abiertos
  • Código Enterprise colocado en ./enterprise
  • Addons personalizados en ./addons/manexware
  • Addons de terceros en ./addons/apps_store

Flujo recomendado

  1. Copie .env.example a .env y ajuste credenciales y dominio.
  2. Coloque su código Enterprise y addons.
  3. Levante el stack base en modo HTTP temporal:
    ./scripts/deploy.sh
    Ejecútelo con bash o directamente como binario. No use sh ./scripts/deploy.sh, porque estos scripts usan sintaxis de Bash.
  4. Emita el certificado y cambie nginx a modo HTTPS:
    ./scripts/issue-cert.sh
  5. Ingrese a https://<su-dominio>/web/database/manager para crear o restaurar su base.

Servicios y puertos

  • nginx: 80 / 443
  • odoo19-web: 8069 interno, 8072 interno
  • odoo19-worker: sin puertos publicados
  • db: sin puerto publicado al host

Notas importantes

  • odoo19-web atiende HTTP y websocket.
  • odoo19-worker ejecuta cron/background.
  • Ambos comparten odoo-data, por lo que el filestore es único.
  • El archivo config/odoo.conf.template se renderiza automáticamente a /var/lib/odoo/odoo.conf al arrancar cada contenedor Odoo.
  • El stack ya no crea una base de datos Odoo durante el despliegue inicial; la base se crea o restaura después desde el gestor de bases.
  • El usuario PostgreSQL configurado para Odoo queda con permiso CREATEDB, necesario para crear bases desde /web/database/manager.
  • El servicio backup genera un dump PostgreSQL y un archivo comprimido del filestore cada 24 horas.
  • Para entornos críticos, evalúe evolucionar a backups remotos y PITR.

Documentación incluida

  • docs/01_arquitectura.md
  • docs/02_despliegue.md
  • docs/03_operacion.md
  • docs/04_backup_restore.md
  • docs/05_checklist_go_live.md

About

Proyecto de despliegue de Odoo en Docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors