Binaural Workspace es un entorno de desarrollo diseñado para facilitar la ejecución y configuración de proyectos en Odoo. Con este repositorio, podrás levantar ambientes de desarrollo en Linux y macOS (AMD y ARM).
En cuanto a Windows, no se ha probado oficialmente, pero puede ser compatible utilizando WSL2 con Docker. Se recomienda verificar su funcionamiento en tu entorno antes de usarlo en producción.
Para comenzar a utilizar el espacio de trabajo, sigue los pasos a continuación.
git clone git@github.com:binaural-dev/docker-odoo.gitAccede al directorio:
cd docker-odooInstalar dotenv:
sudo apt-get install python3-dotenvEsto es necesario para trabajar con el archivo de configuración .env, que almacenará todas las variables del entorno necesarias.
El archivo .env contiene las configuraciones para tu espacio de trabajo en Odoo. Deberás configurarlo antes de continuar. Puedes encontrar un archivo de ejemplo en el repositorio, el cual deberás modificar de acuerdo a tu entorno.
Para trabajar con la configuración por defecto, puedes ejecutar el siguiente comando para crear el .env
cp .env_example .envEl .env_example está creado para levantar la versión 16.0 de Odoo. En caso de requerir una versión diferente, puedes cambiar el archivo .env actualizandos las referencias de 16.0 a 17.0.
Binaural trabaja con módulos alojados en distintos repositorios privados. En caso de que no formes parte de la organización, aún podrás levantar el ambiente sin problemas.
Clonar repositorios:
./odoo initLos repo en cuestion son:
- Odoo Enterprise (necesitas ser partner odoo para tener acceso a este repositorio)
- Integra Addons (aplica solo para los devs de binaural)
- Third Party Addons (aplica solo para los devs de binaural)
Si no tienes acceso a estos repositorios comunicate con nuestro equipo de DevOps.
El archivo de Dockerfile se construye a partir de las configuraciones de tu archivo .env (por ello es importante especificar la versión de Odoo a utilizar en dicho archivo).
./odoo build- src /
custom/ (submodules de git)
/repository-1 (repositorio/proyecto)
/repository-2 (otro repositorio/proyecto)
/repository-n (otro repositorio/proyecto más)
integra-addons/
/module-01
/module-02
enterprise/ (módulos enterprise de Odoo)
/module-01
/module-02
third-party-addons/ (módulos de terceros)
/module-01
/module-02En este entorno, los módulos de Odoo se organizan mediante submódulos de Git, lo que proporciona mayor flexibilidad y facilita la gestión del código.
La estructura ha sido diseñada para el flujo de trabajo de Binaural; sin embargo, el entorno funcionará sin problemas incluso si algunos módulos no están disponibles.
Para más información sobre los módulos de binaural, puedes visitar Odoo Venezuela
En caso de que no formes parte de la organización, no contarás con los repositorios de integra-addons, enterprise y third-party-addons. En ese caso, puedes desarrollar tus propios módulos en el directorio
custom.
Si tienes deseas agregar o desarrollar algún módulo para tu ambiente, puedes hacerlo de dos formas:
- Agregar el módulo en third-party-addons
- Agregar un repositorio en custom
Para agregar un repositorio en custom, ubícate en docker-odoo/src/custom/ y ejecuta git clone repositorio-que-contiene-tus-módulos.git
Estos comandos son acortadores a los comandos naturales de docker-compose, tales como up y down.
./odoo run
./odoo restart
./odoo stopEl acceso a Odoo dependerá de la configuración establecida en el archivo .env.
- Opción 1: Acceso con Filtro de Base de Datos.
Si la variable DB_FILTER está activa en el .env, cada base de datos tendrá su propio subdominio (filtrado por el nombre de la base de datos). Esto permite acceder a distintas bases sin necesidad de seleccionarlas manualmente al ingresar al ambiente.
Ejemplo de acceso con DB_FILTER activo:
Base de datos "db" → db.odoo.localhost
Base de datos "prueba" → prueba.odoo.localhost
Base de datos "17" → 17.odoo.localhost- Opción 2: Acceso General sin Filtro
Si no deseas utilizar el filtrado por dominio, simplemente comenta o elimina la variable DB_FILTER en el .env.
Ejemplo de acceso con DB_FILTER desactivado:
http://localhost:<PUERTO>Cada vez que añades un nuevo repositorio a la carpeta custom, este será automáticamente detectado por el entorno.
Para entender completamente el funcionamiento del entorno, te recomendamos familiarizarte con los comandos de la terminal de Linux, Docker, Traefik y, por supuesto, Odoo.
Si tienes alguna pregunta, no dudes en contactar con el equipo. Si no eres parte del equipo de desarrollo de Binaural, por favor utiliza los Issues en GitHub (siguiendo el código de conducta establecido).