Using pepcli with Docker

Depending on the environment, you'll need to use different client images. The client images for the various environments are published at the following locations (URI's):

Project Acceptance URI Production URI
PPP/POM gitlabregistry.pep.cs.ru.nl/pep-public/core/ppp-acc:latest gitlabregistry.pep.cs.ru.nl/pep-public/core/ppp-prod:latest
Healthy Brain gitlabregistry.pep.cs.ru.nl/pep-public/core/hb-acc:latest gitlabregistry.pep.cs.ru.nl/pep-public/core/hb-prod:latest
Play gitlabregistry.pep.cs.ru.nl/pep-public/core/play-acc:latest none

See also: Tutorial on how to use Docker with Mac OS

pepcli can be found inside these images in /app

These image contain configuration to connect with their environment. You do need to point pepcli to the config directory, which is located in /config, by using the switch --client-working-directory /config.

Depending on your usage, you may need to run docker with some bind mounts:

  • Any files that you want to be available inside the container (e.g. OAuthToken.json)
  • A writable volume to write data to, e.g. when using pepcli pull.

For example, if you have your OAuth token in /home/$(whoami)/PEP/OAuthToken.json, and want to download data to /mnt/data/pulled-data, you could run docker as follows:

docker run -it --volume /mnt/data:/output --volume /home/$(whoami)/PEP:/token:ro <IMAGE_URI> bash

You now have a bash shell inside the docker container. You can do the following to download data:

cd /output
/app/pepcli --client-working-directory /config  --oauth-token /token/OAuthToken.json pull -P <SOME_PARTICIPANT_GROUP> -C <SOME_COLUMN_GROUP>

Details on the use of pepcli can be found on the page Using pepcli