Ansible¶
Ansible is used to manage the majority of virtual machine operation. This includes provisioning of virtual machines and deploying of applications that the host requires. Ansible is also used to configuration of these applications whenever possible.
A List of Ansible Playbooks is available.
Ansible Become User¶
A special Ansible user is used to elevate commands (i.e., become user). The local user, ansible, is used typically when provisioning a new virtual machine. Afterwards, any user that is part of the domain group, ansible, can be used to elevate Ansible commands.
Control Nodes¶
There are two defined Ansible control nodes.
Using an Ansible Control Node¶
Use the following commands after connecting to an Ansible node (e.g., ssh).
source /opt/python_3.12/bin/activate
cd /ansible/dev/ansible
git pull
Deploying an Ansible Control Node¶
Use the following commands to deploy or update Ansible.
INV=inventory/ansible/inventory.ini
ansible-playbook -k -i $INV playbooks/ansible/deploy_ansible.yml
SemaphoreUI¶
SemaphoreUI is a lightweight web interface that simplifies the execution and management of Ansible playbooks. It provides a user-friendly dashboard for organizing inventories, credentials, and playbook runs—ideal for homelab automation and infrastructure orchestration.
For details specific to this homelab instance, including configuration, playbook structure, and integration strategies, see the SemaphoreUI Instance Overview.