Initial Ansible automation for hobbs.farm infrastructure
Complete IaC covering: - 14 roles: common, docker, traefik, vaultwarden, monitoring, media, matrix, home_assistant, frigate, adguard, gitea, semaphore, openclaw, security, backup - Inventory for all hosts (Peggy, Bart, Yoda, NAS, Firewalla) - Stack playbooks: core-infrastructure, monitoring, media, communication, automation, smarthome, security-hardening - Maintenance playbooks: update-containers, backup, health-check - Production Docker Compose templates with Traefik labels - Security hardening (sysctl, auditd, UFW, fail2ban) - Automated backups with retention policy
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
---
|
||||
# Global variables for hobbs.farm
|
||||
domain: hobbs.farm
|
||||
timezone: America/Chicago
|
||||
dns_server: 192.168.86.45
|
||||
gateway: 192.168.86.1
|
||||
nas_ip: 192.168.86.30
|
||||
nas_share: "//192.168.86.30/data"
|
||||
|
||||
# SSH
|
||||
ansible_user: glyptic
|
||||
ansible_ssh_private_key_file: ~/.ssh/id_docker_server
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
|
||||
# Docker network
|
||||
docker_network_name: homelab_network
|
||||
|
||||
# Traefik
|
||||
traefik_acme_email: "{{ vault_acme_email }}"
|
||||
cloudflare_api_token: "{{ vault_cloudflare_api_token }}"
|
||||
|
||||
# NAS mounts
|
||||
nas_media_path: /mnt/nas/media
|
||||
nas_backup_path: /mnt/nas/backups
|
||||
nas_docker_path: /mnt/nas/docker
|
||||
|
||||
# Common packages
|
||||
common_packages:
|
||||
- htop
|
||||
- iotop
|
||||
- curl
|
||||
- wget
|
||||
- git
|
||||
- jq
|
||||
- unzip
|
||||
- net-tools
|
||||
- ncdu
|
||||
- tmux
|
||||
- rsync
|
||||
- lsof
|
||||
|
||||
# NTP
|
||||
ntp_servers:
|
||||
- 0.us.pool.ntp.org
|
||||
- 1.us.pool.ntp.org
|
||||
Reference in New Issue
Block a user