# Opaque

## Dependencies

- Docker: https://www.docker.com/
- Python 3.5+

## Setup

In order to run jobs, Opaque needs access to a Docker swarm manager. Currently it's not possible to specify a dedicated Docker host, instead Opaque expects the executing system to to be a swarm manager.

1. Get the source code and navigate into the code directory
```
git clone https://gitlab.ub.uni-bielefeld.de/sfb1288inf/opaque.git
cd opaque
```

2. Create Docker swarm

2.1. Local
```
# Set the variable values in setup_local_swarm.sh (nano setup_local_swarm.sh)
./setup_local_swarm.sh
```

2.2. Distributed

2.2.1. Initialize swarm on manager machine
```
docker swarm init
```

3. Create Python virtual environment, activate it and install the required python packages.
```
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```