Add initial project structure and documentation
This commit is contained in:
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 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/`.
|
||||
Reference in New Issue
Block a user