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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b6-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f670e87acfb3bc96a7cec1306401c00d94cd8e389574d1c48f903a1f6be656f6
MD5 e1bdfe639738ca3c4ff80547e47d72a6
BLAKE2b-256 aa076c1a310cda4eaf22999cc51c761b633919d8d569fe00635b4cb4d1f80915

See more details on using hashes here.

File details

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

File metadata

  • Download URL: serverpeek-1.0.0b6-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.0b6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d70fa8c64397df06f27971a135956254c827e47a402e5562ef742cb4dd59b671
MD5 c18a26c0c8290a4e715e7d678be5d615
BLAKE2b-256 9a3f7135f7a082c65b7a622f3d8ae37a2ca93ff1641ff0e6b03a42ebaeafc7bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b6-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 57f22de46bd929e5d1939ffb8916d547a7fa94e9e1b870569e4772c124b4ccb7
MD5 00391d01d787a3452f36bd0887f9d2ec
BLAKE2b-256 b3ce251ec2a3cb702fa979692fa714c85dacb903f9928b75752a4ec850c71d5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b6-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8325fca0326d87e6056152b7c5bc65c00d9020fefe66111cf548917100e0aa12
MD5 6d085956149c9f9b04e39da033834cf1
BLAKE2b-256 6031bfaf5a9a275296f7a3924e87bf583e83949b736caa64f5f144501bd90997

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ab5ee846fa1a227b8c1b1b6998c6604a32e756492491e75f12f433fb5a3a5e6
MD5 527d9e4f41325ac78183965fa34aa4a2
BLAKE2b-256 b196a89b6b6dfb5566c14c64825d9883b51813a051f1780ceb0787309d82423d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serverpeek-1.0.0b6-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d7ca8e98103ba74f58576968843cba20868ce824dfe55d865a841a2635612f42
MD5 02fc27e60116f4bca174e7826a0403fb
BLAKE2b-256 924258afe71da814007f743a51f9048e0996c7b0758eb532bc2a6667822d8d6f

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