Ansible playbooks and roles for provisioning, deploying, and monitoring the GLHF platform.
Full documentation: glhf-lab.github.io/glhf/deployment
git submodule update --init
ln -s infrastructure-secrets/group_vars/ group_vars
ln -s infrastructure-secrets/host_vars/ host_vars# 1. Provision a new server
ansible-playbook provision.yml -k -l "host"
# 2. Deploy infrastructure + application
ansible-playbook containers.yml -l "host" --extra-vars "force_build=true"
# 3. Deploy monitoring stack
ansible-playbook monitoring.yml -l "host"--extra-vars "force_build=true" # Rebuild even if source unchanged
--extra-vars "no_cache=true" # Build without Docker cache
--extra-vars "force_deploy=true" # Force container redeployment
--tags="backend" # Target specific services# Migrate data between environments
ansible-playbook one-offs/backend-backup.yml --extra-vars "src_host=staging dest_host=production"
# Export participant data
ansible-playbook one-offs/download_backend_data.yml -l "host"Secrets are encrypted with Ansible Vault in the infrastructure-secrets submodule. See the docs for details.
See CONTRIBUTING.md.
- Game Log Harvesting Framework — the main application
- Discord Bot — gameplay tracking bot
MIT