Skip to content

lookatitude/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Personal Homelab Utilities Repository

A comprehensive collection of utilities, scripts, and configurations for managing and optimizing my personal homelab infrastructure. This repository serves as a centralized location for reusable tools and documentation for various homelab components.

🎯 Repository Goals

This repository aims to:

  • Centralize homelab utilities in one accessible location
  • Provide production-ready scripts with proper error handling and logging
  • Enable easy deployment through automated installers
  • Document configurations for reproducible setups
  • Share knowledge with the homelab community
  • Maintain version control for critical infrastructure scripts

πŸš€ Available Utilities

🌑️ Fan Control Systems

HP iLO4 Fan Control (proxmox/ilo4/)

Comprehensive fan control system for HP ProLiant servers with iLO4

  • βœ… Configurable temperature thresholds with dynamic TEMP_STEPS array
  • βœ… Automatic temperature-based control with emergency protection
  • βœ… Manual control interface with interactive and CLI modes
  • βœ… Advanced threshold management (add/remove temperature steps)
  • βœ… Intelligent installer that loads existing configurations as defaults
  • βœ… Systemd service integration with comprehensive logging
  • βœ… Production-ready with robust error handling and failsafe modes

Key Features:

  • Dynamic temperature thresholds: 90Β°C=255, 80Β°C=200, 70Β°C=150, 60Β°C=100, 50Β°C=75
  • CLI management interface for threshold configuration
  • Emergency protection and automatic failback
  • Professional documentation with troubleshooting guide

Installation:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/lookatitude/homelab/main/proxmox/ilo4/install.sh)"

Supermicro IPMI Fan Control (proxmox/ipmi/)

Advanced IPMI-based fan control for Supermicro X10-X13 series motherboards

  • βœ… Dynamic temperature control for CPU and HDD monitoring
  • βœ… IPMI zone management with separate CPU and peripheral zones
  • βœ… Multiple temperature sources (thermal zones, sensors, IPMI, HDD)
  • βœ… Flexible fan curves with configurable temperature-to-speed mapping
  • βœ… Auto-detection of available fans via IPMI sensors
  • βœ… Sensor threshold management to prevent IPMI takeover
  • βœ… Safety features with automatic reset on shutdown

Key Features:

  • Supports Supermicro X10, X11, X12, X13 series motherboards
  • Daemon mode with systemd service integration
  • Manual control utilities and threshold management
  • HDD temperature monitoring with smartctl integration
  • Comprehensive logging and error handling

Installation:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/lookatitude/homelab/main/proxmox/ipmi/install.sh)"

πŸ“ Repository Structure

homelab/
β”œβ”€β”€ README.md                           # This file - repository overview
β”œβ”€β”€ LICENSE                            # Repository license
└── proxmox/                           # Proxmox VE related utilities
    β”œβ”€β”€ ilo4/                          # HP iLO4 Fan Control System
    β”‚   β”œβ”€β”€ install.sh                 # One-line installer with config loading
    β”‚   β”œβ”€β”€ ilo4-fan-control.sh        # Main temperature control service
    β”‚   β”œβ”€β”€ ilo4-fan-control-manual.sh # Manual control interface
    β”‚   β”œβ”€β”€ set-thresholds.sh          # Threshold management CLI
    β”‚   β”œβ”€β”€ ilo4-fan-control.conf      # Configuration template
    β”‚   β”œβ”€β”€ ilo4-fan-control.service   # Systemd service definition
    β”‚   └── readme.md                  # Comprehensive documentation
    └── ipmi/                          # Supermicro IPMI Fan Control
        β”œβ”€β”€ install.sh                 # One-line installer
        β”œβ”€β”€ supermicro-fan-control.sh  # Main IPMI control daemon
        β”œβ”€β”€ fan-control-manual.sh      # Manual control utilities
        β”œβ”€β”€ set-thresholds.sh          # IPMI threshold management
        β”œβ”€β”€ supermicro-fan-control.service # Systemd service
        └── README.md                  # Detailed documentation

πŸ› οΈ Platform Support

Operating Systems

  • Proxmox VE (Primary target platform)
  • Debian 10/11/12
  • Ubuntu 18.04/20.04/22.04/24.04
  • Other systemd-based distributions

Hardware Support

  • HP ProLiant servers with iLO4 (via SSH)
  • Supermicro motherboards X10/X11/X12/X13 series (via IPMI)

πŸš€ Quick Start

Choose Your System

For HP ProLiant Servers with iLO4:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/lookatitude/homelab/main/proxmox/ilo4/install.sh)"

For Supermicro Motherboards:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/lookatitude/homelab/main/proxmox/ipmi/install.sh)"

What the Installers Do:

  1. Detect and load existing configurations (if re-running)
  2. Install required dependencies automatically
  3. Configure system-specific settings with intelligent defaults
  4. Set up systemd services for automatic startup
  5. Test configurations before activation
  6. Provide comprehensive logging and error handling

πŸ“š Documentation

Each utility includes comprehensive documentation:

  • πŸ“– Detailed README files with installation and usage instructions
  • πŸ”§ Configuration guides with examples and best practices
  • 🚨 Troubleshooting sections for common issues
  • ⚑ Quick reference commands for daily operations
  • πŸ›‘οΈ Safety notes and emergency procedures

🀝 Contributing

This is a personal homelab repository, but contributions are welcome:

  1. Bug reports and feature requests via GitHub issues
  2. Pull requests for improvements or new utilities
  3. Documentation improvements and clarifications
  4. Testing on different hardware configurations

πŸ“œ License

This repository is licensed under the MIT License. See the LICENSE file for details.

πŸ”— Related Resources

  • Proxmox VE Documentation: https://pve.proxmox.com/pve-docs/
  • HP iLO4 User Guide: HP official documentation
  • Supermicro IPMI Reference: Supermicro technical documentation
  • Homelab Community: r/homelab, r/proxmox

⚠️ Important Notes:

  • Always test configurations in a safe environment before production deployment
  • Keep backups of working configurations before making changes
  • Monitor system temperatures after initial setup
  • Both systems include emergency protection features, but manual monitoring is recommended

πŸ’‘ Pro Tips:

  • Use the intelligent installers that load existing configs when re-running
  • Enable debug logging temporarily when troubleshooting issues
  • Check system logs regularly for any warnings or errors
  • Both systems support manual override for emergency situations

About

A collection of homelab scripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages