Skip to main content

Live-updating web dashboard for server monitoring

Project description

serverpeek

A live-updating web dashboard for server monitoring — CPU, memory, processes, Docker containers, and network ports in your browser.

Why?

Checking server health usually means SSH-ing in and running htop, docker ps, ss -tlnp, and half a dozen other commands. serverpeek gives you all of that in a single, auto-refreshing browser dashboard that you can leave open on a second monitor.

Features

  • Machine & OS info — hostname, platform, architecture, CPU model, uptime
  • CPU usage — overall with colour-coded bar (green → yellow → red), per-core bars on Linux
  • Memory usage — physical and swap with macOS breakdown (app/wired/compressed), excludes file cache
  • Load average — 1, 5, and 15 minute load averages
  • Top processes — sorted by combined CPU + memory usage, grouped by parent process
  • Smart process names — identifies scripts behind interpreters (python, node, ruby, perl, java) with runtime tags
  • Docker containers — shows internal container processes via docker top, merged into unified process view
  • Listening ports — non-localhost network ports with associated process names
  • CPU & memory history graphs — 2 minute rolling history, shared across all viewers
  • Live updates — Server-Sent Events push new data every 2 seconds
  • Efficient — single background collector, sleeps when no clients are connected
  • Beautiful dark theme — clean, modern kiosk-friendly dashboard (fits in one screen, no scrolling)
  • Zero config — just run it and open the URL
  • Single binary — statically-linked Go executable, no runtime dependencies

Quick Start

Install

pip install serverpeek

Or run directly with uv:

uvx serverpeek

Run

serverpeek

Then open http://localhost:8080 in your browser.

Options

serverpeek --port 9090        # Custom port
serverpeek --host 127.0.0.1   # Bind to localhost only
serverpeek --help             # Show all options

How It Works

serverpeek starts an HTTP server that serves a single-page dashboard. A background goroutine collects system snapshots every 2 seconds and shares them with all connected clients via Server-Sent Events (SSE). When no clients are connected, the collector sleeps. New clients receive the full 2-minute history buffer so graphs are populated immediately.

System information is gathered using OS-native interfaces (/proc on Linux, sysctl/vm_stat on macOS) and subprocess calls for Docker and network port information. On macOS, memory usage excludes file cache (reports active + wired + compressed instead).

The dashboard is a self-contained HTML page with embedded CSS and JavaScript — compiled into the binary via go:embed. No build tools, no npm, no bundlers. Designed for kiosk use: everything fits in a single non-scrolling screen.

Licence

Released under the Unlicense — public domain.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

serverpeek-1.0.0b5-py3-none-win_arm64.whl (2.3 MB view details)

Uploaded Python 3Windows ARM64

serverpeek-1.0.0b5-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

serverpeek-1.0.0b5-py3-none-manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

serverpeek-1.0.0b5-py3-none-manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

serverpeek-1.0.0b5-py3-none-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

serverpeek-1.0.0b5-py3-none-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file serverpeek-1.0.0b5-py3-none-win_arm64.whl.

File metadata

  • Download URL: serverpeek-1.0.0b5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f9d620b816bfafbdb7181f4a49f833f87f3759686537728047d5fda47ee39576
MD5 e926459e39531481bffc8324c2cf9a9e
BLAKE2b-256 e58f17bde6fe3be72e19d344ab3b7fb03c8b5b16bf9124293dcc6902a59317b3

See more details on using hashes here.

File details

Details for the file serverpeek-1.0.0b5-py3-none-win_amd64.whl.

File metadata

  • Download URL: serverpeek-1.0.0b5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6d82c8db6f6646f8a41e8c01a03cfe835517972eb263c38d7f81705eb08b7ba3
MD5 a0e5ecad65ef7abea74ba5764971710c
BLAKE2b-256 87d0819665f8f23ebea68babb619df085005bae8d82caf99e25c085b7ff6bdb8

See more details on using hashes here.

File details

Details for the file serverpeek-1.0.0b5-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8bcf921480c21541d1329de44fc3c2513ccaaed32ca3a714cfb827d013850d5c
MD5 0f67379cba39334411403bad050181dc
BLAKE2b-256 67804213af26a9ec939f6d21f4aeef86ca33adc284f13080771977920e2708ef

See more details on using hashes here.

File details

Details for the file serverpeek-1.0.0b5-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 98ed5fc73d71f5ae7239258dc2094d8cfbf6789133725c6021d779b0535c1a3b
MD5 a2ecce13ecc00d038a090f81958e5cb7
BLAKE2b-256 0f765f877256957ab90e3423dc61d12fee5d00dfa52287de197a21b38f19eb0d

See more details on using hashes here.

File details

Details for the file serverpeek-1.0.0b5-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11689ed9975bd6934cb76fdf8763e7e02ca0bb0f3ac25a6b3094943f319eb5aa
MD5 54eaa672036d17850cf1df89e925fac2
BLAKE2b-256 2a8d338d4407745d0beb32437ecf06e47f44a0a4c5093ca5dad2bff3b242c97b

See more details on using hashes here.

File details

Details for the file serverpeek-1.0.0b5-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for serverpeek-1.0.0b5-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6029f3547080baa94eab918f2782d89724e2bd4257f6359ca5ad3703864f4282
MD5 65d1cdc849f6c308c1e114107bd59d88
BLAKE2b-256 56e0493e7f7866f3c6d724c5ac3bda23ddc31db685d99f24fb8781b7d3a00ad3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page