Ansible for Homelab

This Ansible setup is designed to automate the configuration and maintenance of servers and applications in the homelab. It includes playbooks for common tasks, inventory management for different environments, and a structured way to handle variables and secrets.

Directory Structure

  • inventory/: Contains the inventory files that define the hosts and groups of hosts managed by Ansible. The hosts.ini file should be updated with your server details, and example_hosts.ini serves as a template.
  • group_vars/: This directory can be used to store variables that apply to specific groups of hosts defined in the inventory.
  • *.yml files: These are the Ansible playbooks that define the automation tasks.
  • secrets.yml: This file is intended to store sensitive data like passwords and API keys. It is recommended to encrypt this file using Ansible Vault. An example_secrets.yml is provided as a template.
  • vars.yml: This file can be used to store non-sensitive variables that are used across multiple playbooks.

Getting Started

  1. Install Ansible: Make sure you have Ansible installed on your control machine.
  2. Inventory: Update the inventory/hosts.ini file with the IP addresses and connection details for your servers.
  3. Secrets: Create a secrets.yml file based on the example_secrets.yml template and encrypt it using Ansible Vault for security.
  4. Run a Playbook: You can run a playbook using the ansible-playbook command. For example:
    ansible-playbook -i inventory/hosts.ini apt_upgrade.yml
    
Description
No description provided
Readme 64 KiB
Languages
Shell 100%