Hi,

 

I’ve been using the lava-server docker image (hub.lavasoftware.org/lava/lava/lava-server:2018.10) for a couple of weeks and I had some problems on making the data persistent for the postgres (mapping the volume from host to container). Anyways I decided to take postgres out from the startup by modifying the entrypoint.sh file:

 

++++++++++++++ Added these lines after start_lava_server_gunicorn -function ++++++++++++++++++++++++++

if [[ ! -z $DJANGO_POSTGRES_SERVER ]]; then

    txt="s/LAVA_DB_SERVER=\"localhost\"/LAVA_DB_SERVER=\"$DJANGO_POSTGRES_SERVER\"/g"

    sed -i $txt /etc/lava-server/instance.conf

fi

 

if [[ ! -z $DJANGO_POSTGRES_PORT ]]; then

    txt="s/LAVA_DB_PORT=\"5432\"/LAVA_DB_PORT=\"$DJANGO_POSTGRES_PORT\"/g"

    sed -i $txt /etc/lava-server/instance.conf

fi

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

---------------------------- Commented out these lines -----------------------------

# Start all services

#echo "Starting postgresql"

#/etc/init.d/postgresql start

#echo "done"

#echo

 

#echo "Waiting for postgresql"

#wait_postgresql

#echo "[done]"

#echo

-------------------------------------------- ----------------------------------------------------

After that I created a new Dockerfile and built a new image:

 

+++++++++++++++++++++++++ Dockerfile +++++++++++++++++++++++

FROM hub.lavasoftware.org/lava/lava/lava-server:2018.10

 

COPY ./entrypoint.sh /root/

RUN chmod 755 /root/entrypoint.sh

ENTRYPOINT ["/root/entrypoint.sh"]

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

>> sudo docker build -t lava-server:mod .

 

Just to get all up and running I made a docker-compose.yml file to kick postgres and lava-server up

 

+++++++++++++++++++++++++++ docker-compose.yml +++++++++++++++++++++++++

version: '3'

services:

  postgres:

    image: postgres:11

    restart: always

    environment:

      POSTGRES_DB: lavaserver

      POSTGRES_USER: lavaserver

      POSTGRES_PASSWORD: d3e5d13fa15f

  lava-server:

    depends_on:

     - postgres

    image: lava-server:mod

    environment:

      DJANGO_POSTGRES_PORT: 5432

      DJANGO_POSTGRES_SERVER: postgres

    ports:

     - "80:80"

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

I still feel that there is too much going on inside that lava-server:mod image, since it has following softwares running:

 

What do you think, should I still break it into smaller pieces? Pros on this would be that softwares wouldn’t die silently (started by using ‘&’ and docker could try to restart them), logs would be in their own logs windows’ (docker log CONTAINER) and containers themselves would be more configurable via environment variables.

 

Br

Olli Väinölä

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.