--- # Homelab Infrastructure Deployment # # Deploys personal homelab services to arch-vps including: # - PostgreSQL database # - Valkey cache/session store # - Podman container runtime # - Caddy web server # - Nextcloud cloud storage # - Authentik SSO/authentication # - Gitea git hosting # # Usage: # ansible-playbook playbooks/homelab.yml - name: Deploy Homelab Infrastructure hosts: homelab become: true gather_facts: true tasks: # Workaround: Manually load host_vars due to Ansible 2.20 variable loading issue - name: Load homelab host variables include_vars: dir: "{{ playbook_dir }}/../host_vars/{{ inventory_hostname }}" extensions: ['yml'] tags: always # Deploy infrastructure services - name: Deploy PostgreSQL include_role: name: postgresql tags: ['postgresql', 'infrastructure', 'database'] - name: Deploy Valkey include_role: name: valkey tags: ['valkey', 'redis', 'infrastructure', 'cache'] - name: Deploy Podman include_role: name: podman tags: ['podman', 'containers', 'infrastructure'] - name: Deploy Caddy include_role: name: caddy tags: ['caddy', 'infrastructure', 'web'] # Deploy application services - name: Deploy Nextcloud include_role: name: nextcloud tags: ['nextcloud', 'cloud', 'storage'] - name: Deploy Authentik include_role: name: authentik tags: ['authentik', 'sso', 'auth'] - name: Deploy Gitea include_role: name: gitea tags: ['gitea', 'git', 'development']