HOPS — Home Operations Portal System

A homelab dashboard without the complexity.

A self-hosted homepage dashboard for your homelab. Drag-and-drop tiles, multiple dashboards, QR codes for phones, and a network scanner that bulk-adds the services you already run — all configured through the UI, never through a config file.

Why HOPS?

There are already plenty of homelab dashboards out there. HOPS exists because none of them quite matched what I wanted: full GUI configuration, a single binary, multiple dashboards, and (as of v2.0) a network scanner that gets a new install useful in minutes instead of an evening.

100% GUI configuration

Click, drag, configure. No YAML files. No JSON editing. No "simple" config files that inevitably become not-so-simple. Even the runtime settings — log level, rate limits, proxy trust — live in the admin GUI, not in env vars or flags.

Single binary

One executable plus a SQLite database. No runtime dependencies. Download, run, done. Docker works too.

Multiple dashboards

One install can host many dashboards at different URLs — /home, /network, /media. Each fully customisable.

Built-in QR codes

Generate a scannable QR for any dashboard. Point your phone camera at it to open the dashboard — no typing URLs.

Status checks

HOPS can ping your tiles to show up/down indicators, so you can see at a glance which services are reachable.

Import your existing dashboard

Already on Homer, Dashy, or Heimdall? HOPS imports your existing config, so trying it doesn't mean starting over.

Search and keyboard nav

Press / anywhere to search every tile across every dashboard. Arrow keys move focus between tiles, Enter opens them — no mouse required.

Flexible layouts

Mix full-, half- and third-width groups in any tab for true multi-column dashboards. Add note tiles for headings or scratchpad text alongside your links.

Network discovery v2.0

Point HOPS at your home network and it finds what's already running. Pi-hole, Proxmox, Plex, the *arr stack, NAS UIs and ~70 other common services recognised out of the box. You review what was found, tick what you want, and HOPS adds them to your dashboard grouped sensibly. It's a head start, not magic — results depend on your network and what's blocking it — so nothing lands on your dashboard until you accept it.

Install on a phone or tablet v2.1

Use your browser's "Add to Home Screen" and HOPS opens like a real app — full screen, no browser tabs or address bar in the way. Handy for a wall-mounted tablet. If Wi-Fi blips, the dashboard stays visible with an "offline" banner, and tile colours hold their last-known state rather than turning everything red.

Screenshots

A few of the interfaces you'll actually spend time in.

Admin page — manage multiple dashboards
Admin pageManage multiple dashboards from one place
QR code modal for any dashboard
QR codesShare any dashboard with a phone, no typing
Edit mode — drag-and-drop
Edit modeDrag-and-drop tiles, groups, and tabs
Tile editor with all options
Tile editorEvery option in one modal — nothing hidden in config files
Icon picker — thousands of icons
Icon pickerSearch thousands of bundled icons, or upload your own
Responsive mobile layout
MobileResponsive layout works on phones and tablets
Network Discovery — list of scans
Network DiscoveryScan your network for services already running
Curate scan results before promoting
Curate before promotingReview what was found, tick the ones you want
Discovery detectors — bundled and custom
Detectors~70 services recognised out of the box, tweak any of them
Diagnostics — find what wasn't recognised
DiagnosticsFind what HOPS missed and turn it into a detector in two clicks

Install

HOPS runs on Linux, macOS, and Windows — x86-64 and ARM64 (Raspberry Pi 3B+/4/5/Zero 2 W). No dependencies.

📦 Binary

# Download the single binary for your platform from Releases
curl -LO https://github.com/weaversgrainthorpe/HOPS/releases/latest/download/hops-linux-amd64
chmod +x hops-linux-amd64
mkdir -p data
./hops-linux-amd64 --data ./data

🐳 Docker — alternative

services:
  hops:
    image: ghcr.io/weaversgrainthorpe/hops:latest
    ports:
      - "8080:8080"
    volumes:
      - hops-data:/app/data
    restart: unless-stopped
volumes:
  hops-data:

For the full walkthrough see the Quick Start guide, or jump to the Deployment guide for systemd, reverse proxies, and backups.