Post

Current Homelab Setup

Current Homelab Setup

Current Homelab Setup

Introduction

Building a homelab represents a significant milestone in any DevOps professional’s journey. What began as a simple Pi-hole installation on an old laptop has evolved into a sophisticated infrastructure setup that demonstrates both technical growth and practical application of enterprise-grade technologies. This comprehensive guide explores a real-world homelab configuration that balances performance, reliability, and scalability while maintaining cost-effectiveness.

The evolution from a basic container setup to a multi-component infrastructure showcases how homelabs serve as perfect testing grounds for enterprise technologies. This particular setup leverages Proxmox for virtualization, Unifi for networking, and a combination of hardware that provides redundancy and performance. Understanding such configurations helps DevOps engineers bridge the gap between theoretical knowledge and practical implementation.

This guide will walk through each component of the homelab, explaining the rationale behind each choice, configuration details, and operational considerations. Whether you’re starting your homelab journey or looking to optimize an existing setup, the insights provided here will help you make informed decisions about your infrastructure design.

Understanding the Homelab Components

Proxmox Virtualization Platform

Proxmox VE serves as the foundation of this homelab, providing a robust virtualization environment on the HP EliteDesk with 32GB DDR4 memory. As an open-source virtualization platform, Proxmox combines KVM hypervisor capabilities with LXC containers, offering flexibility in deployment options. The choice of Proxmox over alternatives like VMware or Hyper-V reflects the balance between enterprise features and cost-effectiveness.

The virtualization layer enables efficient resource utilization through containerization while maintaining the isolation benefits of full virtualization when needed. With 8+ containers running various services, Proxmox’s resource management capabilities become crucial for maintaining system stability and performance.

Storage Infrastructure with QNAP TS-216G

The QNAP TS-216G NAS forms the storage backbone of this setup, featuring two 8TB WD Red drives configured in RAID 1 for data redundancy. This configuration provides approximately 8TB of usable storage with automatic mirroring, ensuring data protection against single drive failures. The choice of WD Red drives is particularly appropriate for NAS environments due to their optimized firmware for 24/7 operation and vibration resistance.

RAID 1 configuration offers several advantages for homelab environments: simplified recovery procedures, excellent read performance, and data integrity. While it doesn’t provide the capacity efficiency of RAID 5 or 6, the reliability benefits outweigh the storage overhead for most homelab applications.

Unifi Network Infrastructure

The Unifi ecosystem provides enterprise-grade networking capabilities at an accessible price point. The UCK G2+ controller manages the network devices, including two U7 Lite access points and one U6 Lite access point. This combination offers both Wi-Fi 6 capabilities and backward compatibility, ensuring optimal performance for all connected devices.

The USW Standard 24-port switch serves as the network backbone, providing ample connectivity for all homelab devices while maintaining low latency and high throughput. Unifi’s centralized management through the controller simplifies network administration and enables advanced features like VLAN segmentation and QoS policies.

Container Ecosystem

The eight containers running on this setup demonstrate the versatility of containerization for homelab services. While the specific containers aren’t detailed in the original description, typical homelab deployments include services like media servers, monitoring solutions, backup systems, and development environments. The containerization approach provides isolation, easy deployment, and simplified maintenance compared to traditional bare-metal installations.

Prerequisites and Hardware Requirements

Server Hardware Specifications

The HP EliteDesk serves as the primary compute node, featuring 32GB DDR4 RAM. This specification provides adequate memory for running multiple virtual machines and containers simultaneously. When selecting hardware for similar setups, consider the following minimum requirements:

  • Processor: Intel i5 or equivalent (i7 recommended for better performance)
  • Memory: 16GB minimum, 32GB recommended for multiple VMs/containers
  • Storage: NVMe SSD for host OS (256GB+), additional storage for VMs
  • Network: Gigabit Ethernet (2.5GbE recommended for future-proofing)

Network Infrastructure Requirements

The network setup requires careful planning to ensure optimal performance and reliability:

  • Internet Connection: Stable broadband with adequate upload speed
  • Router: Compatible with Unifi controller or capable of running custom firmware
  • Switch: Managed switch with sufficient ports (24+ recommended)
  • Access Points: Multiple APs for coverage, considering Wi-Fi 6 compatibility

Storage Considerations

For the NAS component, consider the following specifications:

  • Drive Type: NAS-specific drives (WD Red, Seagate IronWolf)
  • Capacity: Based on storage needs, considering RAID overhead
  • Interface: Gigabit Ethernet for NAS connectivity
  • RAID Configuration: RAID 1 for redundancy, RAID 5/6 for capacity efficiency

Installation and Setup Procedures

Proxmox Installation

1
2
3
4
5
6
7
8
# Download Proxmox ISO from official website
wget https://www.proxmox.com/en/downloads/category/iso-images-pve

# Create bootable USB
dd if=proxmox-ve_*.iso of=/dev/sdX bs=4M status=progress oflag=sync

# Boot from USB and follow installation wizard
# Select target disk, configure network settings, and set root password

After installation, update the system and configure basic settings:

1
2
3
4
5
6
7
8
# Update Proxmox
apt update && apt upgrade -y

# Install Proxmox web interface SSL certificate
pveproxy-ssl-regen

# Configure network interfaces in /etc/network/interfaces
# Set static IP for management access

QNAP NAS Configuration

Initial NAS setup involves:

1
2
3
4
# Access QNAP web interface via http://NAS_IP:8080
# Complete initial setup wizard
# Configure RAID 1 array
# Set up shared folders and user permissions

Unifi Controller Installation

Install Unifi controller on a dedicated VM or container:

1
2
3
4
5
6
7
8
# Add UniFi repository
echo 'deb http://www.ui.com/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list

# Add repository key
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

# Install UniFi Controller
sudo apt update && sudo apt install unifi -y

Configuration and Optimization

Proxmox Optimization

Configure Proxmox for optimal performance:

1
2
3
4
5
6
# Edit /etc/pve/storage.cfg for storage configuration
# Configure backup jobs and schedules
# Set up resource pools for better management

# Optimize VM performance
qm set $VM_ID -cores $NUM_CORES -memory $MEMORY_MB -sockets $SOCKETS

Network Configuration

Configure Unifi controller for advanced networking:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Example network configuration
sites:
  default:
    name: "Home Network"
    timezone: "America/New_York"
    country: "US"
    locale: "en_US"
    networkconf:
      - name: "LAN"
        purpose: "corporate"
        subnet: "192.168.1.0/24"
        vlan: 0
        dhcp: true

Container Management

Optimize container performance and security:

1
2
3
4
5
6
7
8
# Create container templates
pct template $STORAGE_ID $TEMPLATE_ID

# Configure resource limits
pct set $CT_ID -memory $MEMORY_LIMIT -cpulimit $CPU_LIMIT

# Set up backup schedules
pct config $CT_ID -backup: $BACKUP_SCHEDULE

Usage and Operations

Daily Management Tasks

Regular maintenance ensures system reliability:

1
2
3
4
5
6
7
8
9
# Monitor system resources
htop
pveperf

# Check container status
pct list

# Monitor network performance
unifi stat -s

Backup and Recovery Procedures

Implement comprehensive backup strategy:

1
2
3
4
5
# Configure Proxmox backups
vzdump $VM_ID --mode snapshot --compress gzip --mailto admin@domain.com

# Set up NAS backup schedules
# Configure offsite backup solutions

Security Hardening

Implement security best practices:

1
2
3
4
5
6
7
# Configure firewall rules
ufw enable
ufw default deny incoming
ufw allow ssh

# Set up fail2ban
apt install fail2ban

Troubleshooting Common Issues

Performance Issues

Address common performance bottlenecks:

1
2
3
4
5
6
7
# Monitor disk I/O
iotop
iostat -x 1

# Check memory usage
free -h
vmstat 1

Network Connectivity Problems

Troubleshoot network issues:

1
2
3
4
5
6
# Check network interface status
ip addr show
ping -c 4 8.8.8.8

# Verify Unifi controller connectivity
unifi check-health

Container Issues

Resolve container-specific problems:

1
2
3
4
5
# Check container logs
pct exec $CT_ID -- tail -f /var/log/syslog

# Restart problematic containers
pct restart $CT_ID

Conclusion

This homelab setup demonstrates how enterprise-grade technologies can be implemented cost-effectively for personal use. The combination of Proxmox virtualization, Unifi networking, and QNAP storage creates a robust infrastructure capable of supporting diverse services and applications.

The key takeaways from this setup include:

  • Virtualization provides flexibility and efficient resource utilization
  • Proper storage redundancy ensures data protection
  • Enterprise networking capabilities enhance performance and security
  • Containerization simplifies service management and deployment

As you build or expand your homelab, remember that the most important aspect is creating a setup that meets your specific needs while maintaining reliability and security. Start with core components and gradually expand based on your requirements and expertise level.

For further learning and advanced configurations, explore the official documentation for each component:

This homelab setup serves as a foundation for experimentation, learning, and practical application of DevOps principles in a controlled environment.

This post is licensed under CC BY 4.0 by the author.