Provision workstations and servers using Ansible.
This repository contains Ansible playbooks for automating the setup and configuration of:
- Workstation and desktop environment: applications, games, tools, etc
- Home Assistant with Frigate
- Network Attached Storage (NAS)
- Email forwarding
- Rsnapshot backup system
- System upgrades
- Web servers
Create a file named hosts
in the project root:
example ansible_connection=local ansible_host=example.com ansible_user=andornaut ansible_python_interpreter=/usr/bin/python3
[upgrade]
example
Install or upgrade Ansible on Ubuntu:
sudo apt remove ansible --purge
sudo apt-add-repository ppa:ansible/ansible
sudo apt install ansible
Run any of the following make commands to execute the corresponding playbook:
make homeassistant-frigate # Set up Home Assistant with Frigate NVR
make rsnapshot # Configure Rsnapshot backup system
make upgrade # Run system upgrades
make webservers # Configure web servers
make workstation # Set up workstation/desktop environment
The make workstation
command runs the workstation playbook, which:
- Prompts you to choose which roles to include
- Configures your development environment
- Sets up common tools and applications
.
├── hosts # Inventory file (create this)
├── workstation.yml # Workstation configuration playbook
├── roles/ # Ansible roles
└── Makefile # Command definitions
- Module Bugs: If you encounter issues with community modules, try forcing an upgrade:
ansible-galaxy collection install --force community.general