We do publish our playbooks online at e.g. https://github.com/galaxyproject/usegalaxy-playbook/ for usegalaxy.org. However, I am aware that this is quite complex, even for people already familiar with Ansible. The most relevant bits - specifically, the Galaxy config - are all in the galaxyservers group vars as well as the stack, update, and config playbooks. There is a fair amount of extra stuff in those playbooks that most people will not need though, since we deploy Galaxy to CVMFS.
Beginning with Galaxy 19.05, you will be able to load our shed tool config files directly from CVMFS without needing to also point your Galaxy at our install database (these are both configured in the Galaxy config defined in the group vars linked above), so you can still install tools locally from the Tool Shed without issues.
Roughly, for the Galaxy setup only:
- Create a group variables file for your Galaxy server and choose the options from
galaxy_config_hash that are most relevant to you (but place them in the variable galaxy_config as that is the variable name used by galaxyproject.galaxy)
- Set
galaxy_layout and related directory variables as described in the galaxyproject.galaxy documentation.
- Create a simple playbook as shown in the documentation (see also the training materials linked by Jen).
- Create an Ansible
hosts file containing the connection information for your Galaxy server.
ansible-galaxy -p roles install galaxyproject.galaxy
ansible-playbook -i hosts playbook.yml