Post

My Homelab Is Final Complete

My Homelab Is Final Complete

My Homelab Is Finally Complete

Introduction

After years of incremental upgrades, cable management nightmares, and countless late-night troubleshooting sessions, I’m thrilled to announce that my homelab has reached a state of completion that I’m genuinely proud of. This journey has been about more than just assembling hardware—it’s been a deep dive into infrastructure management, network optimization, and the art of creating a self-hosted ecosystem that rivals many small business setups.

The path to completion wasn’t linear. Like many homelab enthusiasts, I started with a single Raspberry Pi running a few services, gradually expanding as my needs grew and my understanding deepened. The final configuration represents a careful balance between performance, redundancy, and practicality—a setup that can handle everything from media streaming and file storage to development environments and home automation.

What makes this setup “complete” isn’t just the hardware components, but the cohesive ecosystem that ties everything together. Every piece serves a purpose, every connection is intentional, and the entire system operates with a level of reliability that allows me to focus on using the services rather than maintaining them. In this comprehensive guide, I’ll walk you through the entire architecture, from the backbone network infrastructure to the software stack that powers my daily operations.

Whether you’re just starting your homelab journey or looking to optimize an existing setup, this guide will provide insights into creating a robust, scalable home infrastructure that can grow with your needs while maintaining the reliability and performance that makes a homelab truly complete.

Understanding the Architecture

Network Backbone: The Foundation of Everything

The network infrastructure forms the backbone of any successful homelab, and mine is no exception. At the core sits the ASUS RT-AX86U Pro router, a powerful device that serves as both my gateway to the internet and the central management point for my internal network. This router isn’t just about providing Wi-Fi—it’s a full-featured network appliance with advanced capabilities that form the foundation of my entire setup.

The RT-AX86U Pro offers Wi-Fi 6 support, ensuring that wireless devices throughout my home get optimal performance without interfering with the wired infrastructure. More importantly, it provides advanced features like VLAN support, VPN server capabilities, and robust QoS (Quality of Service) settings that allow me to prioritize critical traffic across my network.

Complementing the router is the Xike 8-port 2.5G + 2-port 10G switch, which handles all internal network traffic. This switch is the unsung hero of my setup, providing the high-speed backbone that makes everything else possible. The 2.5G ports connect all my servers, workstations, and storage devices, while the 2x10G uplink to the router ensures that there’s never a bottleneck between different segments of my network.

The choice of 2.5G networking over traditional gigabit was deliberate. While 10G would have been faster, 2.5G offers an excellent balance between performance and cost. At ~220 MB/s file transfer speeds between machines, I have more than enough bandwidth for my current needs, and the technology is mature enough that prices have become quite reasonable.

Storage Architecture: Data at the Core

Storage is where my homelab really shines, and I’ve implemented a tiered approach that balances performance, capacity, and redundancy. The system revolves around two Synology DiskStation units, each serving a distinct purpose in my storage strategy.

The Synology DiskStation DS918+ with 40TB of raw storage serves as my primary storage pool. This device runs my main file shares, media libraries, and hosts several Docker containers for various services. The DS918+ is a versatile unit that can handle multiple tasks simultaneously without breaking a sweat. With its quad-core processor and expandable RAM, it’s capable of running everything from Plex media server to Docker-based applications while maintaining excellent performance.

For backup and archival purposes, I have the Synology DiskStation DS216j with 8TB of storage. This dedicated backup target uses Btrfs snapshots and replication to maintain copies of my most critical data. The DS216j runs cool, quiet, and efficiently, making it perfect for 24/7 operation without drawing much power or generating excessive heat.

The choice of Synology DSM (DiskStation Manager) as the operating system for both devices was intentional. DSM provides a user-friendly interface while still offering the advanced features needed for a professional-grade setup. Features like Storage Pools, RAID configurations, and built-in backup solutions make managing large amounts of data straightforward and reliable.

Compute Resources: The Brains of the Operation

While my storage devices handle many tasks, I maintain several dedicated compute resources for more demanding workloads. My main workstation serves as a development environment and light server, running various containers and VMs as needed. This machine is connected via 2.5G to ensure it can take full advantage of the network backbone when accessing storage or communicating with other devices.

For more specialized workloads, I have a dedicated server that handles continuous integration, testing environments, and other development-related tasks. This machine runs Proxmox VE, allowing me to create isolated environments for different projects without interfering with the main storage devices’ operations.

The containerized approach is central to my architecture. By running services in Docker containers managed through Portainer or similar tools, I maintain isolation between different applications while making deployment and updates straightforward. This approach also makes it easy to migrate services between different hosts if needed.

Prerequisites and Planning

Hardware Requirements

Before diving into the specific components, it’s important to understand the hardware requirements for a setup of this scale. The network infrastructure alone requires careful consideration:

  • Router with advanced features (VLAN, VPN, QoS)
  • Managed switch with sufficient ports and speed (2.5G/10G)
  • Sufficient cabling (Cat6a or better for 2.5G/10G)
  • Power distribution and cooling considerations

For the storage components, you’ll need:

  • NAS devices with adequate capacity and performance
  • Hard drives appropriate for your workload (NAS-grade recommended)
  • Backup storage solution (separate physical device)
  • UPS (Uninterruptible Power Supply) for all critical devices

Compute resources should include:

  • Server-grade hardware or high-end consumer hardware
  • Sufficient RAM for your workloads
  • Storage for the host OS and VM/container images
  • Adequate cooling solutions

Software Stack

The software requirements are just as important as the hardware:

  • Network management software (router firmware)
  • Storage management (DSM or similar)
  • Container orchestration platform (Docker, Podman, etc.)
  • Virtualization platform (Proxmox, VMware, etc.)
  • Monitoring and management tools
  • Security software (firewalls, antivirus, etc.)

Network Planning

Proper network planning is crucial for a successful homelab:

  • IP address scheme and subnet planning
  • VLAN configuration for network segmentation
  • Port forwarding and firewall rules
  • DNS configuration and management
  • Quality of Service settings

Installation and Initial Setup

Network Infrastructure Setup

Setting up the network backbone requires careful planning and execution. Here’s the process I followed:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Initial router setup - connect to router admin interface
# Typically accessible at http://192.168.1.1 or similar

# Update router firmware to latest stable version
# This ensures you have the latest security patches and features

# Configure basic settings:
# - Set admin password (use strong, unique password)
# - Update time settings and time zone
# - Configure WAN settings (DHCP, static IP, or PPPoE based on ISP)
# - Set up wireless networks (2.4GHz and 5GHz bands)
# - Configure guest network if needed

# Advanced configuration:
# - Set up VLANs for network segmentation
# - Configure firewall rules
# - Set up VPN server (OpenVPN or WireGuard)
# - Configure QoS rules for traffic prioritization
# - Set up DDNS if you have dynamic IP

Switch Configuration

The switch setup is relatively straightforward but important:

1
2
3
4
5
6
7
# Connect switch to router via 10G uplink port
# Connect all devices to 2.5G ports
# Configure port settings if needed ( jumbo frames, etc.)

# Verify connectivity:
ping -c 4 192.168.1.1  # Test router connectivity
ping -c 4 192.168.1.2  # Test other device connectivity

Storage Device Setup

Setting up the Synology devices involves several steps:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Initial DSM installation:
# 1. Connect NAS to network and power
# 2. Use Synology Assistant to find device on network
# 3. Launch web installer and follow prompts
# 4. Create admin account with strong password
# 5. Configure storage - create storage pool and volumes

# For DS918+ (40TB primary storage):
# - Create SHR-2 volume for data redundancy
# - Configure Btrfs for advanced features
# - Set up shared folders for different data types
# - Configure services (SMB, NFS, AFP as needed)

# For DS216j (8TB backup target):
# - Create RAID-1 volume for data protection
# - Configure backup tasks and schedules
# - Set up replication from primary to backup

Configuration and Optimization

Network Optimization

With the basic infrastructure in place, optimization is key:

1
2
3
4
5
6
7
8
9
10
11
12
# Example router configuration snippets:

# QoS rules for traffic prioritization
# Prioritize VoIP and video conferencing
# Limit torrent and backup traffic during peak hours
# Ensure gaming traffic gets low latency

# VLAN configuration example:
# VLAN 10 - Management (192.168.10.0/24)
# VLAN 20 - IoT Devices (192.168.20.0/24)
# VLAN 30 - Guest Network (192.168.30.0/24)
# VLAN 40 - Storage Network (192.168.40.0/24)

Storage Optimization

Optimizing the storage setup involves several considerations:

1
2
3
4
5
6
7
8
9
10
# DSM storage configuration:
# Enable SSD cache if you have SSD drives
# Configure iSCSI targets if needed for virtualization
# Set up snapshot schedules for data protection
# Configure replication tasks for backup

# Performance tuning:
# Enable compression for appropriate data types
# Configure deduplication if beneficial for your workload
# Set up storage alerts and monitoring

Service Configuration

Setting up the services that run on your infrastructure:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Docker container management:
# Install Docker on appropriate hosts
# Create docker-compose files for service orchestration
# Configure persistent storage for containers
# Set up reverse proxy for external access

# Example docker-compose.yml:
version: '3.8'
services:
  plex:
    image: plexinc/pms-docker
    container_name: plex
    network_mode: host
    environment:
      - PLEX_CLAIM=claim-code
      - TZ=America/New_York
    volumes:
      - /volume1/Media:/data
      - /volume1/plex_config:/config
    restart: unless-stopped

Daily Operations and Maintenance

Routine Monitoring

Regular monitoring ensures your homelab stays healthy:

1
2
3
4
5
6
7
8
9
10
11
12
# Network monitoring commands:
# Check interface statistics
watch -n 5 'cat /proc/net/dev | grep eth'

# Monitor storage usage
df -h

# Check service status
systemctl status plex docker syncthing

# Monitor network traffic
iftop -n

Backup Procedures

Reliable backup procedures are essential:

1
2
3
4
5
6
7
8
9
10
11
# Automated backup scripts:
#!/bin/bash
# Daily backup script
DATE=$(date +%Y%m%d)
SOURCE="/volume1/ImportantData"
DESTINATION="/volume2/Backups/Daily"
LOGFILE="/var/log/backup.log"

echo "Starting backup at $(date)" >> $LOGFILE
rsync -avh --delete --progress $SOURCE $DESTINATION/$DATE >> $LOGFILE 2>&1
echo "Backup completed at $(date)" >> $LOGFILE

Security Hardening

Security should be an ongoing process:

1
2
3
4
5
# Firewall configuration:
# Configure router firewall rules
# Set up VPN access for remote management
# Enable two-factor authentication where available
# Regular security updates for all devices

Troubleshooting Common Issues

Network Problems

Common network issues and solutions:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Network troubleshooting commands:
# Check network connectivity
ping -c 4 google.com

# Trace route to identify bottlenecks
traceroute google.com

# Check DNS resolution
nslookup google.com

# Diagnose switch issues
# Check port status and link speeds
# Verify VLAN configurations

Storage Issues

Storage-related problems and fixes:

1
2
3
4
5
6
7
8
9
10
11
12
# Storage troubleshooting:
# Check disk health
smartctl -a /dev/sda

# Monitor RAID status
syno_raid_status

# Check filesystem integrity
btrfs check /dev/md0

# Diagnose performance issues
ioping -c 10 /path/to/volume

Service Problems

Service-specific troubleshooting:

1
2
3
4
5
6
7
8
9
# Container issues:
# Check container logs
docker logs $CONTAINER_ID

# Diagnose port conflicts
netstat -tulpn | grep :80

# Check resource usage
docker stats

Conclusion

After months of careful planning, implementation, and optimization, my homelab has finally reached a state of completion that I’m truly satisfied with. The combination of robust network infrastructure, redundant storage systems, and well-orchestrated services creates an environment that’s both powerful and reliable.

What makes this setup “complete” isn’t just the individual components, but how they work together as a cohesive system. The 2.5G network backbone ensures that all devices can communicate at high speeds without bottlenecks. The dual-storage architecture provides both performance and redundancy, with the primary storage handling daily operations and the backup system ensuring data safety. The containerized services approach allows for easy deployment and management while maintaining isolation between different applications.

Looking back, the journey from a single Raspberry Pi to this comprehensive setup has been incredibly educational. I’ve learned about network engineering, storage architecture, containerization, and system administration in ways that no amount of theoretical study could provide. Each challenge along the way—whether it was figuring out optimal network segmentation, troubleshooting storage performance issues, or securing remote access—has contributed to a deeper understanding of infrastructure management.

For anyone considering building their own homelab, my advice is to start small and expand gradually. Focus on understanding each component before adding complexity, and always prioritize reliability over cutting-edge features. A homelab that’s stable and well-understood is far more valuable than one with the latest hardware that’s constantly experiencing issues.

The beauty of a homelab is that it’s never truly “finished”—there’s always room for improvement, optimization, and expansion. But reaching this point of completion means having a solid foundation that can support whatever projects or services you want to explore in the future. Whether you’re running media servers, development environments, home automation, or just learning about infrastructure, a well-designed homelab can be an incredibly rewarding endeavor.

Remember that the goal isn’t to build the most powerful setup possible, but rather to create an environment that meets your needs reliably and efficiently. With careful planning, thoughtful implementation, and ongoing maintenance, you too can achieve a homelab that’s finally complete.

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