Metadata-Version: 2.3
Name: dockerclustermon
Version: 0.2.0
Summary: A CLI tool for a live view of your docker containers running on a remote server.
Project-URL: Homepage, https://github.com/mikeckennedy/dockerclustermon
Author-email: Michael Kennedy <michael@talkpython.fm>
License: MIT
Keywords: Docker,Docker Compose,Monitoring
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: rich>=13.9.4
Requires-Dist: typer>=0.13.1
Description-Content-Type: text/markdown

# dockerclustermon - A TUI utility to monitor your docker containers

A TUI tool for a live view of your docker containers running on a remote server. Here's a graphic of it running (refreshes every 5 seconds or so automatically):

![](https://mkennedy-shared.nyc3.digitaloceanspaces.com/docker-status.gif)

Notice that it uses color to communicate outlier values. For example, low CPU is green, middle-of-the-road CPU is cyan, and heavy CPU usage is red. Similarly for memory. The memory limit column reflects the deploy>memory limit in Docker Compose for that container and the percentage reported is for the imposed memory limit rather than the machine physical memory limits.

## Usage

To use the tool, it has one command, `dockerstatus` with a shorter alias `ds`. If you are running a set of Docker containers (say via Docker Compose) on server `my-docker-host`, then just run:

```bash
dockerstatus my-docker-host
```

You can optionally pass the username if you're not logging in a `root`. Here is the full help text (thank you Typer):

```bash
 Usage: dockerstatus [OPTIONS] HOST [USERNAME]                          
╭─ Arguments ───────────────────────────────────────────────────────────╮
│ * host     TEXT       The server DNS name or IP address (e.g. 91.7.5.1│ 
│                       or google.com). [default: None]  [required]     │
│   username [USERNAME] The username of the ssh user for interacting    │
│                       with the server. [default: root]                │
╰───────────────────────────────────────────────────────────────────────╯
╭─ Options ─────────────────────────────────────────────────────────────╮
│ --help          Show this message and exit.                           │
╰───────────────────────────────────────────────────────────────────────╯
```

## Installation

This package is available on PyPI as dockerclustermon. However, it is ideally used as a CLI tool 
and not imported into programs. As such, using **uv** or **pipx** will be most useful. Take your pick:

### uv

```bash
uv tool install dockerclustermon
```

Of course this requires that you have 
[uv installed](https://docs.astral.sh/uv/getting-started/installation/) 
and in the path.

### pipx

```bash
pipx install dockerclustermon
```

And this requires that you have [pipx installed](https://pipx.pypa.io/stable/installation/) 
and in the path.


Compatibility
-------------

Docker Cluster Monitor has been tested against Ubunutu Linux. It should work on any system that 
supports SSH and has the Docker CLI tools installed. Note that it does **not** work on the local 
machine at the moment. PRs are welcome. ;)