Skip to main content

A powerful desktop tool for monitoring and managing Docker containers

Project description

DocMan 🐳📊

A powerful desktop tool for monitoring and managing Docker containers, built with Python and Tkinter.

This application provides a native graphical interface for live monitoring and management of your Docker containers, including:

  • Real-time resource tracking (CPU & RAM).
  • Auto-scaling of services when resource limits are exceeded.
  • An integrated terminal for running Docker commands directly.

Features ✨

  • 📈 Live container stats (CPU%, RAM%)
  • Auto-scale containers when resource limits are exceeded
  • ⏯️ Manage containers: Stop, Pause, Unpause, Restart, and Remove containers directly from the UI.
  • 🎛️ Global controls: Apply actions to all containers at once.
  • 🖥️ Embedded Terminal: A secure terminal for running docker commands.
  • 📝 Live Application Logs: See what the monitor is doing in real-time.
  • ⚙️ Dynamic Configuration: Adjust CPU/RAM limits and other settings without restarting the app.

Installation 🚀

Option 1: Install from PyPI (Recommended)

pip install docker-monitor-manager

Option 2: Install from Source

git clone https://github.com/amir-khoshdel-louyeh/docker-monitor.git
cd docker-monitor
pip install .

Prerequisites

  • Python 3.8+
  • Docker Engine (must be installed and running)

Usage

After installation, you can run Docker Manager from anywhere:

docker-manager

Development Setup

If you want to contribute or modify the source code:

1. Clone the Repository

git clone https://github.com/amir-khoshdel-louyeh/docker-monitor.git
cd docker-monitor

2. Create and Activate a Virtual Environment

On macOS / Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install in Development Mode

pip install -e .

Configuration ⚙️

On Windows:

python -m venv venv
.\venv\Scripts\activate

You can adjust the monitoring behavior in the script:

3. Install Dependencies

Install the required Python packages from requirements.txt.

pip install -r requirements.txt
  • CPU Limit: CPU_LIMIT = 70.0
  • RAM Limit: RAM_LIMIT = 70.0
  • Max Clones: CLONE_NUM = 2
  • Check Interval: SLEEP_TIME = 1 (seconds)

4. Run the Application

Launch the Tkinter application.

python3 app_tkinter.py

API Endpoints 📡

Configuration ⚙️

  • / → Web dashboard
  • /logs → Returns latest logs in JSON
  • /container_stats → Stats for all containers (JSON)
  • /control → Control a specific container (pause, unpause, restart, remove)
  • /control_all → Apply action to all containers
  • /stream → Live event stream (Server-Sent Events)
  • /kill_remove → Run kill & remove script
  • /test_environment → Run test setup script
    You can adjust the monitoring behavior by clicking the "Config" button within the application. This allows you to dynamically change:

  • CPU Limit (%)
  • RAM Limit (%)
  • Max Clones
  • Check Interval (s)

Example Dashboard Screenshot 🖼️

(Add your screenshot here!)


Notes 📝

  • Requires Docker daemon access (if running without root, make sure your user is added to the docker group).
  • Custom scripts used:

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

docker_monitor_manager-1.0.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

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

docker_monitor_manager-1.0.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file docker_monitor_manager-1.0.1.tar.gz.

File metadata

  • Download URL: docker_monitor_manager-1.0.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for docker_monitor_manager-1.0.1.tar.gz
Algorithm Hash digest
SHA256 61330c742ec1d9850a9b997e809b19dd2d5ad732f5447d648bec7b16d7c279f0
MD5 75423f20a7ebd12e9b44c94723c299f5
BLAKE2b-256 f824aac538cde8eda0358a1483a42b105dfce20feaadfaa57d9cda3b76996564

See more details on using hashes here.

File details

Details for the file docker_monitor_manager-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_monitor_manager-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a93dcde19926f6bc111bbb7dbc70c1de28c7dcade59ffc299f0445db3d262567
MD5 7b6b08ea3f2bc4cef8e6f63b1938779f
BLAKE2b-256 989cbbd503f5e9ad7341de21cc1644cc104d0e47e227af1bdef3582f78dba990

See more details on using hashes here.

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