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.1.0.tar.gz (36.5 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.1.0-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sysdock-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c9158d43b95adb5ecaf07017476b7deb7099e8b3e353f782edcd78f0b358b862
MD5 a2f9056f975ae825bfdaa6dad643c134
BLAKE2b-256 1ee4fe9a0873bd7be1b7f08d3a32ed4a8ba09a0b7536dae2c073f735fd651f31

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sysdock-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.1 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01a8265b22c55fa0a41dfc47e90df099f9c7e4182ddbed75658f4a5b8cbef187
MD5 089535e9d4a94fba6a5c77de15b691bf
BLAKE2b-256 eecb58398f3469821c15244742a12f48abfa7d64245853b589ae020f35368abf

See more details on using hashes here.

Provenance

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