Files
homelab-ansible/README.md

1002 B

homelab-ansible

Ansible playbook to align my homelab VMs — Alpine & Debian.

Roles

# Role Purpose
1 ufw Install UFW, deny incoming by default, allow only Tailscale
2 repos Set Alpine repos to edge
3 upgrade Upgrade all packages (handles Tailscale SSH drops gracefully)

Usage

# Full playbook
ansible-playbook homelab.yml

# Single role
ansible-playbook homelab.yml --tags ufw

# Dry-run
ansible-playbook homelab.yml --check --diff

Inventory

  • inventory/tailscale_inventory.py — dynamic inventory from local tailscale status, filtered by tag:homelab
  • inventory/static_groups.yml — static group assignments (Alpine vs Debian)

Vars

Per-role defaults live in roles/*/defaults/main.yml. Per-group overrides in group_vars/.