--- project: name: Automation Scripts status: active category: automation source: live-verification created: 2026-01-06 updated: 2026-04-19 description: Maintenance, deployment, and operational automation scripts tags: [automation, scripts, homelab, maintenance] --- # Automation Scripts Maintenance, deployment, and operational automation scripts for homelab management. ## Script Categories ### Homelab Scripts (`scripts/homelab/`) | Script | Purpose | |--------|---------| | `deploy-service.py` | Deploy services to remote hosts | | `detect-drift.py` | Detect config drift between repo and hosts | | `drift_detector.py` | SSH-based container state comparison | | `generate-context.py` | Generate context for AI assistants | | `collect-host-inventory.py` | Collect host inventory information | | `validate_catalog.py` | Validate catalog consistency | ### Authentik Scripts (`scripts/authentik/`) Scripts for managing Authentik identity provider: OAuth2/OIDC providers, group bindings, branding, and SSO configuration. ### Maintenance Scripts (`scripts/maintenance/`) | Script | Purpose | |--------|---------| | `fix-permissions.py` | Fix file and directory permissions | | `fix-truenas-permissions.py` | Fix TrueNAS permissions | ### Ansible Playbooks (`ansible/`) | Playbook | Purpose | |----------|---------| | `sync-configs.yml` | Pull/push docker-compose configs | | `deploy-services.yml` | Restart Docker services | | `sync-opencode.yml` | Push OpenCode configurations | | `ping.yml` | Test connectivity to all hosts | ## Host Configuration | Host | IP | Path | Purpose | |------|-----|------|---------| | ubuntu | 192.168.50.61 | homelab/ubuntu | Primary Docker host | | grizzley | 192.168.50.84 | homelab/grizzley | Edge ingress | | ice | 192.168.50.197 | homelab/ice | Control plane | | truenas | 192.168.50.12 | homelab/truenas | Storage host | | pve | 192.168.50.11 | homelab/proxmox | Hypervisor | ## Related - [[project.md|Automation Project]] - [[../homelab/architecture.md|Homelab Architecture]]