Set up a Ubuntu Linux Environment to Run WfExS
In the hutch monorepo there is an Ansible playbook which you can use to quickly build an Ubuntu Linux environment for running WfExS.
Ansible lets you set up a VM from your laptop without installing anything on your VM beforehand.
You will need a Ubuntu machine such as a VM to use this playbook. Get one from your favourite cloud provider. Alternatively use VirtualBox, WSL2, etc.
Optional​
Before starting you may wish to create a non-root user in your VM.
ssh
into your VM as root
and create a new user with the following command:
adduser <your new username>
Following the instructions and then give the user sudo with:
usermod -aG sudo <your new username>
You should also add a file to the new user's home directory called .ssh/authorized_keys
and add your public ssh key to it for extra security. Make sure the file is owned by the new user.
Step 1​
Install Ansible on your local machine using pip
.
pip install ansible
Step 2​
In ansible/inventory.ini
add the IP address(es) or host URL(s) under the section [tre_server]
where you wish to set up WfExS.
Step 3​
Run the playbook as root
:
ansible-playbook -i inventory.ini -u root playbook.yml
Or, run the playbook as your new user:
ansible-playbook -i inventory.ini -u <your new username> -K playbook.yml
Ansible will ask for the password of your new user.
Depending on the resources your VM has, your WfExS environment will be ready after several minutes.
node:slim from docker.io is needed in the environment. Can be pre-loaded with:
# Docker
docker load <image>
# Podman
podman load <image>
WfExS always pulls it to be safe since CWL Tool uses a node:slim container to execute inline javascript steps defined in CWL workflows.