READ ME FIRST

The easiest way to do the installation is to follow this documentation step by step. This documentation is meant to be read sequentially.

Introduction

Docker aim is to run an stateless image file on a host. Each time the image is started, starts like it would have never executed.

To keep then the state of the application, a folder from the host should be mounted.

 

Docker recipe

Download the latest recipe here and uncompress it on your computer.

Configure Dockerfile

The recipe should contain a Dockerfile.

At the top of the file there are four variables to configure, explained below.

The openBIS distribution to install on the image, you need the build script to the repository and tarball of your choice, or use the default one.

ENV OPENBIS_REPO https://wiki-bsse.ethz.ch/download/attachments/11109400/
ENV OPENBIS_DISTRIBUTABLE openBIS-installation-standard-technologies-16.05.2-r37126

* These passwords will be used by the openBIS installer.

ENV ADMIN_PASSWORD changeit
ENV ETLSERVER_PASSWORD changeit

Build

After configuring the Dockerfile you can run the next command that will build on this case the image with the name debian-openbis.

docker build -t debian-openbis .

If the process finishes without errors the next command should show between your docker images the new create image.

docker images

Start

You need to provide the machine name where the container is going to run using the --hostname option.
Also redirect the endpoint port using the -p option.
To keep the state of the application between runs, you need to redirect the state folders outside, the folders described on the section below will be automatically created.

Modify the command below to match to your machine name and folders.

docker run --net=host -eSERVER_HOST_PORT="bs-openbis-sis-ci-sprint.ethz.ch:443"-eGROUP_ID=12940 -eGROUP_NAME="bsse-sis"-eCORE_PLUGINS='enabled-modules = monitoring-support, dropbox-monitor, dataset-uploader, dataset-file-search, xls-import, openbis-sync, eln-lims, eln-lims-life-sciences'-v$OPENBIS_STATE_DIR:/home/openbis/openbis_state --hostnamebs-openbis-sis-ci-sprint.ethz.ch -p443:443 debian-openbis:latest &

If everything was configured correctly the console will show at the end a correct openbis and data store server start as shown below and you can then access openBIS at https://bs-mbpr28/openbis/#.

...
All services launched, waiting for SIGTERM signal.
Please use: docker stop <CONTAINER ID>

Stop

The image get locked waiting for the user to use the docker stop command.

When the user stops the container an ordered shutdown is done to avoid any corruption on the data. Not stopping openBIS and postgres before finishing the container will trigger a recovery step on next startup.

Relevant folders containing the state of the application

This folders contain the state of the application inside the container, both data and logs for auditing the state of your server.

This documentation describes where the original folder was and where has been redirected.

Postgres

# Data:
/var/lib/postgresql/data -> /home/openbis/openbis_state/postgresql_data

# Logs: Included on the data folder
/var/lib/postgresql/data/pg_log -> /home/openbis/openbis_state/postgresql_data/pg_log

openBIS AS

 

#  Data:
-- N/A
# Logs:
/home/openbis/openbis/servers/openBIS-server/jetty/logs -> /home/openbis/openbis_state/as_logs
# Configuration:
/home/openbis/openbis/servers/openBIS-server/jetty/etc -> /home/openbis/openbis_state/as_etc

openBIS DSS

# Data:
/home/openbis/store -> /home/openbis/openbis_state/dss_store
/home/openbis/openbis/servers/datastore_server/data/sessionWorkspace -> /home/openbis/openbis_state/dss_session_workspace
# Logs:
/home/openbis/openbis/servers/datastore_server/log -> /home/openbis/openbis_state/dss_logs
# openBIS DSS Logs not allowed to be mounted outside of the container:
/home/openbis/openbis/servers/datastore_server/log-registrations/
# Configuration:
/home/openbis/openbis/servers/datastore_server/etc -> /home/openbis/openbis_state/dss_etc
  • No labels