Servicios adicionales

Servicios

Uso de servicios adicionales

Odoodock permite arrqncar servicios que no estén incluidos en su código.

Creación

La forma más habitual de añadir nuevos servicios es la creación de un repositorio git con uina esctrutura similar a la de odoodock. Por ejemplo, para un repo llamado odoodock-additional-services, con dos servicios (servicio_1 y servicios_2).

odoodock-additional-services/
│
├── servicio_1/                            # Carpeta con información para el servicio 1
│   ├── Dockerfile                         # Dockerfile del servicio 1
│   └── serv1.conf                         # Ficheros extra necesarios para el servicios
│
├── servicio_2/                            # Carpeta con información para el servicio 2
|   └── Dockerfile                         # Dockerfile del servicio 2
│
├── .env                                   # Variables de entorno para los servicios
├── .services                              # Fichero de configuración de qué servicios deben arrancar
└── additional-services-compose.yml        # docker compose de los servicios del repositorio

additional-services-compose.yml

Su contenido es similar a cualquier fichero docker-compose.yml. Por ejemplo:

services:

  #####################################
  ## SERVICIO_1 #################
  #####################################
  servicio_1:
    build:
      context: ./[ads]/servicio_1

    # puerto leido de la variable de entorno
    # por defecto 8099
    ports:
      - "${SERVICIO_1_PORT:-8099}:8000"

    environment:
      - LOG_LEVEL=${SERVICIO_1_LOG_LEVEL:-INFO}

    # se puede incluir dependencias de servicios incluidos en odoodock
    depends_on:
      - rabbitmq

    # se puede incluir redes definidas en odoodock
    networks:
      - traefik_network

IMPORTANTE: El fichero tiene que llamarse obligatoriamente dditional-services-compose.yml.

IMPORTANTE: El contexto del build tiene que incluir la carpeta [ads].

.env

Almacena las variables de entorno para los servicios del repo.


### SERVICIO_1  ##############################################

SERVICIO_1_PORT=8099
SERVICIO_1_LOG_LEVEL=INFO

.services

Almacena una variable con los servicios del repo que se arrancan


ADSSERVICES=(
  servicio_1
  # servicio_2
)

Instalación

El repo se añade en odoodock como un submódulo.

# desde odoodock
git submodule add -f https://github.com/usuario/odoodock-additional-services.git '[ads]'

Es muy importante renombra el repositorio a [ads]