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.6.tar.gz (37.3 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.6-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysdock-1.2.6.tar.gz
  • Upload date:
  • Size: 37.3 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.6.tar.gz
Algorithm Hash digest
SHA256 dece38a3a0e4dda528ca15a98b453d8dc14ada44f8d61a89f2463e2cdc1f4b27
MD5 9d0f021652c44d8451aa914399ca2831
BLAKE2b-256 3cb51c85d040a0c927ee4b05d76dcfbf69c1cd43c90c6d49aca6d30f14d5ec5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sysdock-1.2.6-py3-none-any.whl
  • Upload date:
  • Size: 35.8 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5753f3e8453d4a6e7a1cd6f806c45e9bef805ae5adb768c6ec23078a4e5cfd4e
MD5 8ea4c9fd55e92df7032ee8f076b703de
BLAKE2b-256 1ea5340702285e0efb007ee10f718a31193d897ead1989b36898e9d7029ee3c6

See more details on using hashes here.

Provenance

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