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.2.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.2-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysdock-1.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6dfca5e30f77b27cfb5b4db4451046a8ee48747a0d7acb196259128b5f051343
MD5 3dc6b80331e3ed2a6e5b19b32cef6be5
BLAKE2b-256 578a5d3f435741b5235596c16fe6a9b68e5e9ec045a7fce4138b50fd01a558a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysdock-1.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: sysdock-1.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d99e268b07b78a62846d216cced1bf49e459d24013dd06c4751d2f07ae629399
MD5 58d66f65d29a2d8c9a849859a4fa1c69
BLAKE2b-256 3fc1e815ab3dce9b4226b8179e64db6c6de500f17a40e873019c47ee67647cbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysdock-1.2.2-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