The Problem: Too Many Tabs

You know the feeling. You have a Proxmox tab open for the remote hypervisor. Another for the local one. A Portainer tab for Docker. A terminal running htop. A glances web UI on another monitor.

I was drowning in tabs.

With infrastructure spanning the local network (10.42.0.x) and a remote network (192.168.20.x), I needed a “Single Pane of Glass”. A real dashboard.

Enter Homepage.

The Goal

One dashboard to rule them all:

  • Proxmox Status: CPU, RAM, VMs for both hosts
  • Build Cluster: Visualize the Gentoo compilation workers
  • Network: Router status, bandwidth
  • Media: Plex, Tautulli, storage usage
  • Aesthetics: Dark mode, sleek icons, data density

The Challenge: Cross-Network Visibility

The first hurdle was the network split. My dashboard was running on the local K3s cluster. But half my infrastructure (the big storage servers) lives on the remote network.

Tailscale bridges the gap, but even magic needs configuration.

I had to ensure the Homepage container could route to the 192.168.20.x subnet. Set up subnet routers, then configure Homepage to use http proxy mode for some services and direct IP routing for others.

The Glances Version Problem

Here’s a fun one I didn’t see coming.

I love Glances. It’s the best top replacement out there. Homepage has a great Glances widget.

But the older Proxmox host (Debian 12) ships with Glances v3.3.1. The rest of the fleet (Gentoo, newer Proxmox) runs Glances v4.

Homepage’s widget failed silently. The fix? Explicitly telling Homepage which version to speak.

- Old Proxmox Host:
    widget:
        type: glances
        url: http://10.42.0.200:61208
        version: 3  # <--- The magic number

- New Proxmox Host:
    widget:
        type: glances
        url: http://192.168.20.100:61208
        version: 4

Green lights everywhere.

Visualizing the Build Cluster

The Gentoo build cluster is the heart of the system. Workers scattered across both networks:

  • LXC containers on the local Proxmox
  • LXC containers on the remote Proxmox
  • Docker containers on Unraid
  • A dedicated test VM

I wanted to see them all side-by-side. Initially, I just dumped them in a list, but the widgets were huge.

Switched to a “Matrix” layout:

# settings.yaml
layout:
  Build Workers:
    style: row
    columns: 4

Now I can see CPU load across the entire cluster in one glance. When a compile job hits, the whole row lights up red. Beautiful.

Fixing Synology Sensors

One last annoyance: The Synology NAS units weren’t showing disk I/O in the Glances widget.

The Glances API was reporting fs:/volume1 or md2. Homepage wanted a physical disk identifier.

Dug into the config and mapped it to disk:sda. Suddenly, the read/write graphs came alive.

- Synology NAS:
    widget:
        type: glances
        url: http://192.168.20.7:61208
        disk: sda  # Not md2 or /volume1
        version: 4

The Result

The dashboard now monitors:

  • 2 Proxmox clusters
  • 3 NAS units
  • 4 build workers
  • Network topology across both sites

It’s fast, comprehensive, and data-dense. One tab instead of twelve.

Homepage Tips

Version conflicts: Always check which Glances version your hosts run. Set it explicitly in the widget config.

Cross-network routing: If your Dashboard container can’t reach a host, it fails silently. Test with curl from inside the container first.

Layout density: Use columns: N and style: row to pack more widgets horizontally.

Disk sensors: Synology and Linux software RAID report different disk identifiers than Glances expects. Check glances --stdout disk to find the right one.


Next up: Getting Tautulli to stop timing out…