ServerBee

Status Page

A public page showing server online status without authentication.

ServerBee provides a public status page that shows server online status and basic metrics without requiring login. It is ideal for sharing service health with users or teams.

Access

The status page is available at: https://your-server/status

No authentication is required — anyone can access this page.

Page Content

The status page displays:

  • Online/Total count: Current number of online servers vs total
  • Server list: All non-hidden servers organized by group
  • Online status: Each server shows an online/offline indicator
  • Live metrics: Online servers display CPU, memory, and disk usage progress bars
  • 90-day uptime timeline: Each server shows a color-coded bar chart of daily uptime over the past 90 days
  • Uptime percentage: Overall uptime percentage calculated from daily uptime data
  • Auto-refresh: The page automatically fetches updated data every 10 seconds

Display Rules

  • Only non-hidden servers are shown (admins can set the hidden flag in server settings)
  • Servers are organized by their group
  • Offline servers show only the offline status without metric data

API Endpoint

GET /api/status

Public endpoint, no authentication required. Response structure:

{
  "data": {
    "servers": [
      {
        "id": "server-uuid",
        "name": "Web Server 1",
        "hostname": "web1.example.com",
        "is_online": true,
        "group_name": "Production",
        "cpu": 45.2,
        "mem_used": 8589934592,
        "mem_total": 17179869184,
        "disk_used": 53687091200,
        "disk_total": 107374182400
      }
    ],
    "groups": [
      { "id": "group-uuid", "name": "Production" }
    ],
    "online_count": 8,
    "total_count": 10
  }
}

Uptime Timeline

Each server on the status page displays a 90-day uptime timeline. The timeline is a horizontal bar chart where each bar represents one day:

  • Green -- 100% uptime (fully online all day)
  • Yellow -- Degraded uptime (below the yellow threshold, default 100%)
  • Red -- Major outage (below the red threshold, default 95%)
  • Gray -- No data available for that day

Hovering over a bar shows a tooltip with the date, uptime percentage, and online/total minutes.

The uptime data comes from the uptime_daily table, which is populated by the server's background aggregation task. The status page API returns daily entries with gap-filling for dates where no data was recorded (shown as gray bars with 0 minutes).

Uptime Thresholds

Admins can customize the color thresholds per status page in Settings > Status Pages:

  • Yellow threshold (default: 100%) -- Days below this percentage are shown in yellow
  • Red threshold (default: 95%) -- Days below this percentage are shown in red

These thresholds are stored per status page and returned in the public API response, allowing different status pages to have different sensitivity levels.

Hiding Servers

To exclude servers from the status page:

  1. Go to the server detail page → Edit
  2. Enable the Hidden option
  3. The server will no longer appear in the /api/status response

On this page