personal_infra/SCRIPT_PLAYBOOK_MAPPING.md
2025-12-01 11:17:02 +01:00

4.8 KiB

Script to Playbook Mapping

This document describes which playbooks each setup script applies to which machines.

Table

Script Playbook Target Machines/Groups Notes
setup_layer_0.sh None N/A Initial setup script - creates venv, config files
setup_layer_1a_vps.sh infra/01_user_and_access_setup_playbook.yml vps (vipy, watchtower, spacey) Creates counterweight user, configures SSH
setup_layer_1a_vps.sh infra/02_firewall_and_fail2ban_playbook.yml vps (vipy, watchtower, spacey) Configures UFW firewall and fail2ban
setup_layer_1b_nodito.sh infra/nodito/30_proxmox_bootstrap_playbook.yml nodito_host (nodito) Initial Proxmox bootstrap
setup_layer_1b_nodito.sh infra/nodito/31_proxmox_community_repos_playbook.yml nodito_host (nodito) Configures Proxmox community repositories
setup_layer_1b_nodito.sh infra/nodito/32_zfs_pool_setup_playbook.yml nodito_host (nodito) Sets up ZFS pool on Proxmox
setup_layer_1b_nodito.sh infra/nodito/33_proxmox_debian_cloud_template.yml nodito_host (nodito) Creates Debian cloud template for VMs
setup_layer_2.sh infra/900_install_rsync.yml all (vipy, watchtower, spacey, nodito) Installs rsync on all machines
setup_layer_2.sh infra/910_docker_playbook.yml all (vipy, watchtower, spacey, nodito) Installs Docker on all machines
setup_layer_3_caddy.sh services/caddy_playbook.yml vps (vipy, watchtower, spacey) Installs and configures Caddy reverse proxy
setup_layer_4_monitoring.sh services/ntfy/deploy_ntfy_playbook.yml watchtower Deploys ntfy notification service
setup_layer_4_monitoring.sh services/uptime_kuma/deploy_uptime_kuma_playbook.yml watchtower Deploys Uptime Kuma monitoring
setup_layer_4_monitoring.sh services/uptime_kuma/setup_backup_uptime_kuma_to_lapy.yml lapy (localhost) Configures backup of Uptime Kuma to laptop
setup_layer_4_monitoring.sh services/ntfy/setup_ntfy_uptime_kuma_notification.yml watchtower Configures ntfy notifications for Uptime Kuma
setup_layer_5_headscale.sh services/headscale/deploy_headscale_playbook.yml spacey Deploys Headscale mesh VPN server
setup_layer_5_headscale.sh infra/920_join_headscale_mesh.yml all (vipy, watchtower, spacey, nodito) Joins all machines to Headscale mesh (with --limit)
setup_layer_5_headscale.sh services/headscale/setup_backup_headscale_to_lapy.yml lapy (localhost) Configures backup of Headscale to laptop
setup_layer_6_infra_monitoring.sh infra/410_disk_usage_alerts.yml all (vipy, watchtower, spacey, nodito, lapy) Sets up disk usage monitoring alerts
setup_layer_6_infra_monitoring.sh infra/420_system_healthcheck.yml all (vipy, watchtower, spacey, nodito, lapy) Sets up system health checks
setup_layer_6_infra_monitoring.sh infra/430_cpu_temp_alerts.yml nodito_host (nodito) Sets up CPU temperature alerts for Proxmox
setup_layer_7_services.sh services/vaultwarden/deploy_vaultwarden_playbook.yml vipy Deploys Vaultwarden password manager
setup_layer_7_services.sh services/forgejo/deploy_forgejo_playbook.yml vipy Deploys Forgejo Git server
setup_layer_7_services.sh services/lnbits/deploy_lnbits_playbook.yml vipy Deploys LNbits Lightning wallet
setup_layer_7_services.sh services/vaultwarden/setup_backup_vaultwarden_to_lapy.yml lapy (localhost) Configures backup of Vaultwarden to laptop
setup_layer_7_services.sh services/lnbits/setup_backup_lnbits_to_lapy.yml lapy (localhost) Configures backup of LNbits to laptop
setup_layer_8_secondary_services.sh services/ntfy-emergency-app/deploy_ntfy_emergency_app_playbook.yml vipy Deploys emergency ntfy app
setup_layer_8_secondary_services.sh services/memos/deploy_memos_playbook.yml memos-box (VM on nodito) Deploys Memos note-taking service

Machine Groups Reference

  • vps: vipy, watchtower, spacey (VPS servers)
  • nodito_host: nodito (Proxmox server)
  • nodito_vms: memos-box and other VMs created on nodito
  • lapy: localhost (your laptop)
  • all: All machines in inventory
  • watchtower: Single VPS for monitoring services
  • vipy: Single VPS for main services
  • spacey: Single VPS for Headscale
  • memos-box: VM on nodito for Memos service

Notes

  • Scripts use --limit flag to restrict playbooks that target all to specific hosts
  • Backup playbooks run on lapy (localhost) to configure backup jobs
  • Some playbooks are optional and may be skipped if hosts aren't configured
  • Layer 0 is a prerequisite for all other layers