Simple galaxy installation steps.
On fresh install of ubuntu:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt update
sudo apt upgrade -y
sudo apt install -y software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install -y ansible
Clone the repo and instal required galaxy roles.
git clone https://github.com/CESNET/usegalaxy.git
cd usegalaxy
ansible-galaxy install -p roles -r requirements.yml
Note that the roles are already present in this repo.
After the instalation, you should configure your inventory file (hosts.yml) and set up a vault:
openssl rand -base64 24 > .vault-password.txt
ansible-vault create group_vars/secret.yml
The second command opens an editor wherein you should define variables eg.:
vault_id_secret: "a-really-long-password-here"
rabbitmq_users_password:
mqadmin: "a-really-long-password-here"
pulsar: "a-really-long-password-here"
vault_rabbitmq_password_flower: "a-really-long-password-here"
vault_rabbitmq_password_galaxy: "a-different-really-long-password"
vault_flower_user_password: "a-really-long-password-here"
vault_sentry_password: "a-really-long-password-here"
vault_reports_admin_password: "a-really-long-password-here"
e_infra_client_id: "a-really-long-password-here"
e_infra_client_secret: "a-really-long-password-here"
elixir_client_id: "a-really-long-password-here"
elixir_client_secret: "a-really-long-password-here"
api_key: "a-really-long-password-here"
tiaas_password: "a-really-long-password-here"
The value should be a long random value, which can be obtained by command openssl rand -base64 24
, though you should avoid having a /
or \
in your password as galaxy will interpret this as a path.
Make sure you have these ports enabled on your machine:
80(HTTP)
443(HTTPS)
4369(TCP)
5671(TCP)
15672(TCP)
25672(TCP)
Once everything have been installed and configured, the ansible playbook can be run as follows:
ansible-playbook galaxy.yml
Install ephemeris for tool management:
virtualenv -p python3 ~/ephemeris_venv
. ~/ephemeris_venv/bin/activate
pip install ephemeris
To obtain the list of tools from the usegalaxy.eu use:
get-tool-list -g "https://usegalaxy.eu" -o "eu_tool_list.yaml"
and then to install them:
shed-tools install -g https://your-galaxy -a <api-key> -t eu_tool_list.yaml
The api key can be found in the User -> Preferences -> Manage API Key in Galaxy menu.
...
Later we should use this role to automate this, but there are too many tools to be installed and it is very inpractical for testing purposes.
On ubuntu < 22.04 and Debian < 12 the GLIBC version is incompatible with the galaxyproject.tusd
GLIBC, therfore playbook ends in error.
- in
roles/galaxyproject.tusd/defaults/main.yml
you have to set thetusd_version:
to 'v1.8.0' (tested, possibly higher)
On Debian 11 the default version of ansible
is 2.10.08 which fails to extract binaries for TUSd.
- workaround:
sudo vim /etc/apt/sources.list
add this line :deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main
- then
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
- followed by
sudo apt-get update
andsudo apt-get install ansible -y
- Note that you might need to
sudo apt remove ansible
sudo apt autoremove
before you try to install ansible.
Use sudo apt install python3-docker
before running the usegalaxy.rabbitmqserver
role.
For influxdb apt key error: https://www.influxdata.com/blog/linux-package-signing-key-rotation/
For proftpd add "LoadModule mod_tls.c" to roles/galaxyproject.proftpd/templates/tls.conf.j2 just before the TLSEngine