Commit 82c94dd0 authored by valentin.kozlov's avatar valentin.kozlov
Browse files

Merge branch 'master' into '16-sources-file-description'

# Conflicts:
#   sources_example.yaml
parents 9324c116 0a7e1297
......@@ -53,10 +53,6 @@ RUN git clone --depth 1 -b ${branch}
rm -rf /tmp/*
# Ports to expose
# Change user context and drop root privileges
RUN groupadd -r ${group} && \
useradd --no-log-init -r -d /app -g ${group} ${user} && \
pipeline {
environment {
registry = "boressan/o3skim"
registry = "synergyimk/o3skim"
registryCredential = 'dockerhub_id'
agent any
......@@ -38,20 +38,21 @@ This project provides the tools to preprocess, standarise and reduce ozone data
See [deployment](#deployment) for notes on how to deploy the project on a live system.
## Prerequisites
To run the project as container, install one of the following container technologies in your system:
- [docker](
- [udocker](
To run the project as container, you need the following systems and container technologies:
- __Build machine__ with [docker](
- __Runtime machine__ with [udocker](
> Note udocker cannot be used to build containers, only to run them.
## Built using docker <a name = "built_using"></a>
Download the repository using git.
Download the repository at the __Build machine__ using git.
$ git clone
Cloning into 'o3skim'...
To run as container, installation is not needed, however an image has to be build (if not downloaded form the official repository).
To build it using docker, run the following command:
Build the docker image at the __Build machine__ using docker.
$ docker build --tag o3skim .
......@@ -96,20 +97,47 @@ py38: commands succeeded
# Deployment <a name = "deployment"></a>
If an image was build using docker, then just deploy the container passing the desired arguments.
For example:
To deploy the the application using __udocker__ at the __Runtime machine__ you need:
- Input path with data to skim, to be mounter on `/app/data` inside the container.
- Output path for skimmed results, to be mounted on `/app/output` inside the container.
- Configuration file with a data structure desctiption at the input path in [YAML]( format. This configuration file has to be mounted on `/app/sources.yaml` inside the container. See [sources_example.yaml](/sources_example.yaml) for a configuration example.
Once the requierement are needed, pull the image from the image registry.
For example, to pull it from the synergy-imk official registry use:
$ udocker pull synergyimk/o3skim
Downloading layer: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
Once the repository is added and the image downloaded, create the local container:
$ docker run \
-v ${PWD}/sources.yaml:/app/sources.yaml \
-v ${PWD}/data:/app/data \
-v ${PWD}/output:/app/output \
$ udocker create --name=o3skim synergyimk/o3skim
Finally, run the container. Note the described _data_, _output_ and _sources.yaml_ have to be provided. Also it is needed to specify the user _application_ should run inside the container:
$ udocker run \
--user=application \
--volume=${PWD}/sources.yaml:/app/sources.yaml \
--volume=${PWD}/data:/app/data \
--volume=${PWD}/output:/app/output \
o3skim --verbosity INFO
INFO:root:Configuration found at: './sources.yaml'
INFO:root:Loading data from './data'
INFO:root:Skimming data to './output'
executing: main
2020-08-25 12:42:34,151 - INFO - Configuration found at: './sources.yaml'
2020-08-25 12:42:34,152 - INFO - Loading data from './data'
2020-08-25 12:42:34,261 - INFO - Skimming data to './output'
For the main function description and commands help you can call:
$ udocker run --user=application o3skim --help
For arguments description you can run `docker run o3skim --help`
# Authors <a name = "authors"></a>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment