/galaxy4training

Build in a snap a Galaxy environment, on Debian and Ubuntu systems, for shared and highly interactive training sessions.

Primary LanguagePython

Galaxy4Training

TravisCI
Build in a snap a Galaxy environment for a training classroom of 20-30 participants to allow high interactivity and shared practical work.

This Ansible playbook has been developed and tested on Debian and Ubuntu systems.

Requirements

In order to use this playbook, you need:

Ansible roles

List of roles included in this playbook:

Control flow variables

A first set of variables, that regulate the playbook execution, are available in group_vars/all:

  • g4t_manage_os_setup: (default yes) to execute or not the ansible-galaxy-os role
  • g4t_manage_db_setup: (default yes) to execute or not the ansible-postgresql role
  • g4t_manage_galaxy: (default yes) to execute or not the ansible-galaxy role
  • g4t_manage_extras: (default yes) to execute or not the ansible-gx-extras role
  • g4t_manage_tools: (default no) to execute or not the ansible-galaxy-tools role
  • g4t_manage_datasets: (default no) to execute or not the ansible-gx-datasets role

Main variables

All the variables that can be configured to execute this playbook are collected into
roles/common/vars/main.yml .

Apply your modifications there.

How to clone this repository

Since this repository makes use of submodules, you can pass the --recursive option to git clone and initialize all submodules:

git clone --recursive https://github.com/gmauro/galaxy4training

Deploying on localhost

Clone the repository as described above, install the roles and then run the playbook:

ansible-galaxy install -p roles -r requirements.yml
ansible-playbook -i inventory g4t.yml -e galaxy_config['brand']='G4T' -e galaxy_config['admin_users']=admin@example.com

Development

Easily prepare a development setup using Docker in this way:

  • Clone the repository
    git clone --recursive https://github.com/gmauro/galaxy4training

  • Edit the code on your machine

  • start a docker container
    docker run -p 8080:80 -v /path/to/galaxy4training:/galaxy4training --rm -ti gmauro/ansible:2.6_ubuntu16.04 /bin/bash

  • Start Galaxy deployment on the docker container
    cd galaxy4training && ansible-galaxy install -p roles -r requirements.yml && ansible-playbook g4t.yml

  • Check the result on your browser at localhost