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.0b7-py3-none-win_arm64.whl (2.3 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

serverpeek-1.0.0b7-py3-none-manylinux_2_17_x86_64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

serverpeek-1.0.0b7-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.0b7-py3-none-win_arm64.whl.

File metadata

  • Download URL: serverpeek-1.0.0b7-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.0b7-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 63d86cf2722131a01aeae7da3ac8549b64a501005d8b243bdc8765633be6e3c8
MD5 5d66567a02cd560b34e776246e8ec026
BLAKE2b-256 13a4cbc0b03b4dba2209039e2360bd8718f449fd6866797d373f28173b279068

See more details on using hashes here.

File details

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

File metadata

  • Download URL: serverpeek-1.0.0b7-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.0b7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 303401e340c989abfb1b245974685e7f3c9eca6cee6284143facc051d14e55a6
MD5 56f7243fe5733009d4bca3780a9f9259
BLAKE2b-256 5d2fde2469bd67d7c895d92324ca2dd69b8eb7809b41f61db353363277f1204e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b7-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d3063c40ef00ffcb39f681a7160105289b5279fc81957b3c89254f762b5d4198
MD5 476bd226143632b99e52435a3c9a5343
BLAKE2b-256 101a8faff14fe3284b2b0da46c3e4cf8417818913841c33d0ae71cdf0d1beb32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b7-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 7a42f23a9f649756481c340d21f580d9b3c713fdc65e31560ad34635ad6b6308
MD5 3f425f2d44a12f186dd1c426926cd532
BLAKE2b-256 4b8c392035888eb668b1080c66017f0085c328248647f10501a3a36bf0e8a284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41f7fbbdd22e7ee90d8d770fa44603079fd7aa9613b49fa0c81f6db76fa1dbf1
MD5 22a6ef0a37e808924e48bba746285cf1
BLAKE2b-256 15a4011d2685f35607de750621ed646218f729dca5caa8646f3aa8eb01275e6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b7-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6c026a87e196f8450911fd7c83d93acd24c6b358635ef4bf14b37d867cde0e37
MD5 2d6eb88513048f11ccf417fd6f7948f2
BLAKE2b-256 19115c4e8fc1b372657bc42f8c987cdd901d44c559548329aa17de5a42b5f21d

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