Repolode
cppla

cppla/ServerStatus

A lightweight self-hosted server probe and cloud monitoring dashboard for tracking multiple nodes' status, resources, latency and services.

Open-source alternative to:UptimeRobot

Stars
4,682
Forks
913
Open issues
5
Last commit
3 days ago

What is it?

ServerStatus is a self-hosted monitoring dashboard for multiple servers. A Go server receives status reports from lightweight Python agents running on each node over TCP, then shows online state, CPU, memory, disk, network traffic, load, and three-carrier latency and packet loss on a web page.

Beyond host metrics, it can check service endpoints and SSL certificate expiry, and send notifications through callback URLs when Watchdog rules match, such as a node going offline. Configuration can be edited in the WebUI or through an authenticated HTTP API with an OpenAPI 3.1 description. Monthly traffic baselines are persisted to a stats file.

The server ships as a Docker image with Compose files, and the client can run in Docker or directly with Python. Agents are configured with a username and password that must match the server's config.json.

Key features

  • 01Shows online status, CPU, memory, disk, load and network traffic for each node.
  • 02Measures three-carrier TCP latency and packet loss.
  • 03Monitors service endpoints and SSL certificate expiry.
  • 04Sends Watchdog alerts to callback URLs when rules match.
  • 05Provides a WebUI configuration page and a token-protected HTTP API.

Use cases

  • Keeping an eye on a small fleet of VPS or cloud servers from one dashboard.
  • Publishing a public status page for several nodes.
  • Getting alerted when a server goes offline or a certificate is about to expire.

Quick start

  1. 1

    Start the server with Docker Compose

    ADMIN_TOKEN='your-strong-token' docker compose -f docker-compose-server.yml up -d
  2. 2

    Open the WebUI at http://127.0.0.1:8080/

  3. 3

    Start a client node with Docker Compose

    SERVER=127.0.0.1 USER=s01 PASSWORD=USER_DEFAULT_PASSWORD docker compose -f docker-compose-client.yml up -d --force-recreate

Things to know

  • The web config page and admin API stay disabled unless you set ADMIN_TOKEN.
  • Each monitored node must run a client and match the username and password in the server config.

In collections

Topics

FAQ

What is ServerStatus?
A lightweight self-hosted server probe and cloud monitoring dashboard for tracking multiple nodes' status, resources, latency and services. ServerStatus is a self-hosted monitoring dashboard for multiple servers. A Go server receives status reports from lightweight Python agents running on each node over TCP, then shows online state, CPU, memory, disk, network traffic, load, and three-carrier latency and packet loss on a web page.
Is ServerStatus free to use? What license does it have?
ServerStatus is open source under the MIT license. Check the license terms before using it in commercial products.
Is ServerStatus still maintained?
Actively maintained. The last commit to ServerStatus was on Nov 4, 2026.
What can I use ServerStatus for?
Keeping an eye on a small fleet of VPS or cloud servers from one dashboard. Publishing a public status page for several nodes. Getting alerted when a server goes offline or a certificate is about to expire.
How do I install ServerStatus?
Start the server with Docker Compose: ADMIN_TOKEN='your-strong-token' docker compose -f docker-compose-server.yml up -d Open the WebUI at http://127.0.0.1:8080/ Start a client node with Docker Compose: SERVER=127.0.0.1 USER=s01 PASSWORD=USER_DEFAULT_PASSWORD docker compose -f docker-compose-client.yml up -d --force-recreate
Where can I get ServerStatus?
The source code and installation instructions are on GitHub: https://github.com/cppla/ServerStatus

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects