ServerBee

Introduction

ServerBee is a lightweight, modern VPS monitoring system built with Rust and React.

ServerBee is a lightweight, self-hosted VPS monitoring probe system built from the ground up with a modern Rust backend and React frontend. It is designed to be fast, resource-efficient, and easy to deploy on small VPS instances.

Key Features

  • Real-time monitoring -- CPU, memory, disk, network, load average, temperature, and GPU metrics streamed over WebSocket
  • Alert rules -- Flexible threshold-based alerts with support for 14+ metric types, debounce logic, and multiple notification channels
  • Web terminal -- Secure browser-based shell access to your servers through a full PTY session
  • Ping monitoring -- ICMP, TCP, and HTTP probes to track endpoint availability and latency
  • GPU support -- Optional NVIDIA GPU monitoring (utilization, memory, temperature per device)
  • Lightweight footprint -- Single binary server and agent, SQLite database, no external dependencies required
  • OAuth login -- GitHub, Google, and generic OIDC provider support
  • GeoIP detection -- Automatic server region identification via MaxMind MMDB

Tech Stack

ComponentTechnology
ServerRust (Axum 0.8, sea-orm, tokio, SQLite)
AgentRust (sysinfo, tokio-tungstenite)
FrontendReact 19, Vite 7, TanStack Router, TanStack Query, Recharts, shadcn/ui, Tailwind CSS v4
ProtocolWebSocket (JSON frames, binary for terminal data)
DatabaseSQLite with WAL mode

How It Works

ServerBee follows a hub-and-spoke architecture:

  1. The Server is the central dashboard that runs the web UI, REST API, and manages all WebSocket connections
  2. Agents are installed on each VPS you want to monitor -- they collect system metrics and report back to the server every few seconds
  3. The Frontend is a React SPA embedded into the server binary, so there is nothing extra to deploy

All communication between agents and the server happens over WebSocket with JSON-encoded messages. Terminal sessions use the same WebSocket connection with base64-encoded PTY data.

Next Steps

On this page