# server-infra Ansible provisioning and deployment for homelab web servers. ## Quick Start ```bash # Install collections (once) ansible-galaxy collection install -r requirements.yml # Bootstrap SSH key to each host (one-time, before Ansible) ssh-copy-id westfarn@10.0.0.77 # Test connectivity to one host ansible adama -m ping # Provision one host (dry run first) ./scripts/provision.sh adama --check --ask-become-pass ./scripts/provision.sh adama --ask-become-pass # first run; sudo password once # Later runs (after common role sets passwordless sudo) ./scripts/provision.sh adama # Provision all hosts ./scripts/provision.sh ``` See [IMPLEMENTATION.md](IMPLEMENTATION.md) for full architecture, CI/CD plan, and phase breakdown. ## Servers | Host | IP | Role | |------|-----|------| | adama | 10.0.0.77 | app host | | roslin | 10.0.0.176 | app host | | ai-server-4080 | 10.0.0.128 | control node + act runner |