Infrastructure as Code repository for home lab management and automation.
Lab-Mechanica/
├── cluster/ # Raspberry Pi cluster configuration
│ ├── kubernetes/ # Kubernetes manifests and helm charts
│ ├── ansible/ # Ansible playbooks for cluster management
│ └── monitoring/ # Cluster monitoring configurations
│
├── networking/ # Network infrastructure
│ ├── ubiquiti/ # UniFi configurations and backups
│ ├── vlans/ # VLAN definitions and documentation
│ └── dns/ # DNS configurations including Pi-hole
│
├── services/ # Core services configurations
│ ├── homeassistant/ # Home Assistant configuration and automations
│ ├── registry/ # Docker registry setup and maintenance
│ ├── grafana/ # Grafana dashboards and configurations
│ └── monitoring/ # General monitoring configurations
│
├── storage/ # Storage system configurations
│ ├── unraid/ # Unraid system configurations
│ └── backup/ # Backup strategies and scripts
│
├── media/ # Media server configurations
│ ├── plex/ # Plex server setup and maintenance
│ └── automation/ # Media management automation
│
├── docs/ # Documentation
│ ├── setup/ # Initial setup instructions
│ ├── maintenance/ # Maintenance procedures
│ ├── network/ # Network architecture documentation
│ └── disaster-recovery/ # Disaster recovery procedures
│
├── scripts/ # Utility scripts
│ ├── maintenance/ # Maintenance scripts
│ └── monitoring/ # Monitoring scripts
│
└── terraform/ # Infrastructure as Code
├── modules/ # Reusable Terraform modules
└── environments/ # Environment-specific configurations
- Kubernetes configurations for the Raspberry Pi cluster
- Ansible playbooks for automation and maintenance
- Cluster monitoring and alerting setup
- UniFi configuration backups and restoration procedures
- VLAN definitions and documentation
- Pi-hole DNS configurations and adlists
- Home Assistant automation configurations
- Private Docker registry setup
- Grafana dashboards and data sources
- Monitoring stack configurations
- Unraid system configurations and share settings
- Plex media server setup and optimizations
- Backup strategies and verification procedures
- Complete setup instructions for rebuilding from scratch
- Regular maintenance procedures
- Network architecture documentation
- Disaster recovery procedures
- Clone this repository
- Follow the setup instructions in
docs/setup/ - Configure environment variables according to
docs/setup/environment.md - Run the initial setup script:
scripts/setup/init.sh
Regular maintenance tasks are documented in docs/maintenance/ and automated via scripts in scripts/maintenance/.
The monitoring stack includes:
- Grafana dashboards for system metrics
- AlertManager for notifications
- Prometheus for metrics collection
- Custom scripts for specific monitoring tasks
See LICENSE file for details