Files
homelab-ansible/README.md

34 lines
1002 B
Markdown

# 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
```sh
# 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/`.