web

Servicios disponibles

web (odoo)

El servicio web es el que se encarga de arrancar odoo.

Es el servicio principal de Odoodock, por lo que siempre debe arrancarse.

  1. Comprobar que en el fichero .services está descomentada la línea con el servicio web.

  2. Configurar el fichero .env para activar o desactivar utilidades internas a instalar.

    Parte de estas utilidades pueden ser arrancadas como contenedores docker. La decisión del método a utilizar depende del propósito del servicio.

  3. Versiones superiores o iguales a 19

    A partir de la versión 19, odoodock es capaz de crear y configurar de manera automática la base de datos, así como de clonar e instalar módulos por defecto. Dicha configuración se realiza desde el fichero .env, en los bloques Inicialización de la base de datos y Configuración de repositorios de módulos

    Los bloques de Inicialización de la base de datos y Configuración de repositorios de módulos no son de aplicación en versiones inferiores a 19.

    Además es posible instalar de manera automática módulos python a través de PIP, ya sea como dependencias externas de los módulos de Odoo o como otros módulos de Odoo. En el primero caso se han de definir en el fichero requirements.txt y en el segundo en el fichero requirements-python-modules.txt de cada módulo.

  4. Ejecutar ./up.sh desde la carpeta odoodock.

  5. Abrir el navegador y acceder a la URL http://locahost:8069.

Utilidades

El servicio permite la instalación de herramientas adicionales de ayuda al desarrollo. En general, el acceso a ellas se realiza accediendo al bash del contenedor mediante el comando exec. Por ejemplo:

   $ docker exec -it [project_name]-web-1 bash
   > jekyll new mi_site

Nota: [project_name] es el nombre del proyecto (variable PROJECT_NAME) definido en el fichero .env.

Oh My ZSH

Z-Shell (ZSH) es una shell que aporta mejoras sobre bash. Oh My ZSH es un framework sobre ZHS que aporta, entre otras, mejoras de autocompletado de comandos git.

nano

Editor de texto en línea de comandos. Simplifica la modificación de ficheros internos del contenedor.

ssh

ssh puede ser muy útil sobre todo para la conexión con repositorios remotos como github

Open SSL

Librería para administrar funciones de criptografía. Puede ser necesaria para interconectar diferentes servicios.

pdftk

Herramienta que permite manipular documentos pdf. Requiere ampliar, dentro del fichero odoo.conf, el limit_memory_hard al menos a 8684354560

asdf

asdf es un gestor de de versiones de diferentes lenguajes de programación. Puede ser utilizado para desarrollo software de apoyo a los módulos en otros lenguajes diferentes a python. Además, su instalación es necesaria para la posterior ejecución de otras herramientas como Jekyll (que requiere ruby).

En caso de que se reconstruya (build) la imagen del servicio una vez ya creada para incluir asdf, es necesario añadir en el fichero ~/.bashrc las líneas . /opt/asdf/asdf.sh y . /opt/asdf/completions/asdf.bash (¡Atención! el . va separado de la ruta)

Plugins para asdf

Tanto la instalación de plugins (runtimes de lenguajes de programación) como la de diferentes versiones se realiza a través de diferentes variables de entorno.

Para ruby:

  ODOO_ASDF_INSTALL_PLUGIN_RUBY=false
  ODOO_ASDF_PLUGIN_RUBY_INSTALL_VERSION=3.0.0

Es posible instalar varias versiones de un runtime incluyendolas en una cadena separadas por espacios.Por ejemplo: “3.0.0 2.7.1”

Jekyll

Jekyll es un generador estático de páginas web. Es recomendado su uso en combinación con Github Pages para poder publicar sitios web a partir de documentos md

Para su uso es necesario instalar asdf junto con el plugin de Ruby y la versión 3.0.0 o superior.

Es posible utilizar Jekyll como un servicio externo.