Ansible Playbook for Installing/Updating DataSHIELD (Opal) servers.
- Clone this repository.
- Install Ansible, if you do not already have it.
- Next, install dependencies by running
$ansible-galaxy install -r requirements.yml
. - This playbook assumes a host group called DSServer (abbreviation for DataSHIELD Server).
- Copy the
inventory/hosts.template
file into a newinventory/hosts
file and modify to add in your own hosts.
- There should be no file extension at the end of
inventory/hosts
. Make sure not to save asinventory/hosts.txt
- Copy the
inventory/group_vars/DSservers.template.yml
file into a newinventory/group_vars/DSservers.template.yml
and make sure to modify variables to your own liking. - Run with
ansible-playbook playbooks/setup.yml -i inventory -K
from insidedatashield-ansible-deploy
. - Enter root password when prompted with
BECOME:
by requesting it from your IT admin. - IMPORTANT: Ensure that your Database is registered to Opal once installation completes. See discussion here.
- URL should be
mongodb://localhost:27017/opal_data?authSource=admin
- user/pass should match secrets provided in inventory.
- URL should be
Ansible can run on virtually anything modern, but it is important that your host machines are configured properly.
- Ansible-core >=2.11
- Ubuntu 20 server.
- x86 Architecture.
- >=4GB RAM (>8 GB ideal)
- If you would like to use hosts with aliases you should modify your ssh config file. This is a file on the machine you run Ansible from, not on your hosts.
- Add the following to your
~/.ssh/config
directory.
Host [Alias]
HostName [ADDRESS]
Port [PORT]
User [USER]
PubkeyAuthentication yes
IdentityFile ~/.ssh/id_rsa
(or possibly some different IdentityFile)
To report a bug or make a suggestion you can open issues on GitHub.