Skip to main content

SysDock — Linux / EC2 monitoring agent with live terminal dashboard and Docker metrics

Project description

SysDock

Linux / EC2 monitoring agent with a live terminal dashboard, accurate Docker metrics, and a pip-installable CLI.

pip install sysdock
sysdock          # opens the live dashboard — like htop, but more

Features

  • 🖥 Live terminal dashboard — CPU per-core, RAM, disk, network, processes, Docker, security
  • 🐳 Accurate Docker metrics — CPU %, memory, network I/O per container (matches docker stats)
  • 📊 htop-accurate readings — CPU sampled at 1s interval; RAM uses htop's exact formula
  • 🌐 HTTP metrics API — JSON snapshot + live SSE stream on one port
  • 🔒 Security panel — Falco events, SSH failures, fail2ban status
  • Zero config — works on any Linux distro, Python 3.6+

Install

# From PyPI
pip install sysdock

# With Docker SDK (richer container stats)
pip install "sysdock[docker]"

# With everything
pip install "sysdock[all]"

# From source
git clone https://github.com/Kavyvachhani/SysDock.git
cd SysDock
pip install -e .

Quick Start

sysdock              # open live dashboard (default — no subcommand needed)
sysdock dash         # same as above
sysdock start        # start metrics HTTP server on :5010
sysdock status       # one-shot snapshot (rich table)
sysdock status --json               # raw JSON
sysdock status --section docker     # Docker only
sysdock check        # verify all dependencies

On EC2 — one-step install

sudo bash install.sh          # auto-installs Python, pip, sysdock + systemd service

HTTP API

curl http://localhost:5010/health
curl http://localhost:5010/
curl -N http://localhost:5010/stream   # live SSE stream
Endpoint Description
GET / Full JSON snapshot — all metrics
GET /stream Server-Sent Events — pushes every 5s
GET /health {"status": "ok"}

Metric Accuracy

Metric Method
CPU % 1-second sampling (matches htop)
RAM used total − free − buffers − cached (htop formula)
Docker CPU (cpu_delta / sys_delta) × nCPUs × 100 (matches docker stats)
Docker memory Subtracts inactive_file (cgroups v2) / cache (cgroups v1)

CLI Reference

sysdock             → live dashboard (default)
sysdock dash        → live dashboard (with --refresh option)
sysdock start       → HTTP metrics server [--port 5010] [--host 0.0.0.0]
sysdock status      → snapshot [--section system|disk|processes|network|docker|security|all] [--json]
sysdock check       → dependency check
sysdock install     → systemd service (requires root)
sysdock uninstall   → remove service (requires root)
sysdock --version   → 1.1.0

Project Structure

SysDock/
├── pyproject.toml              pip package config (entry point: sysdock)
├── setup.py                    legacy pip fallback
├── MANIFEST.in
├── install.sh                  one-step Linux installer
├── test_sysdock.py             self-test suite
├── SETUP_GUIDE.md              full setup + PyPI publishing guide
├── EC2_DEPLOY_GUIDE.md         EC2 transfer + test + deploy guide
└── infravision_agent/
    ├── cli.py                  sysdock CLI (auto-launches dashboard)
    ├── server.py               HTTP server on port 5010
    ├── collectors/
    │   ├── system.py           CPU / RAM / load / uptime
    │   ├── disk.py             partitions + I/O
    │   ├── processes.py        top processes
    │   ├── network.py          interfaces + connections
    │   ├── docker_collector.py container stats (SDK + CLI fallback)
    │   └── security.py         Falco / SSH / fail2ban
    └── display/
        └── dashboard.py        Rich live TUI dashboard

Compatibility

Distro Status
Ubuntu 20.04 / 22.04 / 24.04
Debian 10 / 11 / 12
Amazon Linux 2 / 2023
CentOS 7 / Stream 8 / 9
RHEL 7 / 8 / 9
Alpine Linux
Arch Linux

Python 3.6 – 3.12. Requires Linux /proc filesystem.


Security Note

When exposing the HTTP API, restrict port 5010 to your monitoring server only:

aws ec2 authorize-security-group-ingress \
  --group-id sg-xxxxxxxxxx \
  --protocol tcp --port 5010 \
  --cidr <monitoring-server-ip>/32

License

MIT © 2026 Kavyvachhani

Project details


Download files

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

Source Distribution

sysdock-1.2.1.tar.gz (37.7 kB view details)

Uploaded Source

Built Distribution

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

sysdock-1.2.1-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

Details for the file sysdock-1.2.1.tar.gz.

File metadata

  • Download URL: sysdock-1.2.1.tar.gz
  • Upload date:
  • Size: 37.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sysdock-1.2.1.tar.gz
Algorithm Hash digest
SHA256 bc48d59258805f655c259fed06509a0d4cbceaec4592e139ff4245c4ca462ea1
MD5 715d901e1358a78b305179b6f9f473eb
BLAKE2b-256 e7ae4fe6583d2a8d4e63e0204a150fb79e76c270628a7d4a76699d27e29f3e72

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysdock-1.2.1.tar.gz:

Publisher: workflow.yml on Kavyvachhani/SysDock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sysdock-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: sysdock-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sysdock-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89640e5c033fbbb19fe72beb09f762a96afc6affe8d6283cbd70d7a24b9d08ee
MD5 144eef2b6a36c3e37e1a943b115d64ae
BLAKE2b-256 82aa34cbf8caa7e4532a05afa9043ec63e755af90dd7cd17f91e5cbeec8dd0b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysdock-1.2.1-py3-none-any.whl:

Publisher: workflow.yml on Kavyvachhani/SysDock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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