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
dockercommands. - 📝 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
dockergroup). - Custom scripts used:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61330c742ec1d9850a9b997e809b19dd2d5ad732f5447d648bec7b16d7c279f0
|
|
| MD5 |
75423f20a7ebd12e9b44c94723c299f5
|
|
| BLAKE2b-256 |
f824aac538cde8eda0358a1483a42b105dfce20feaadfaa57d9cda3b76996564
|
File details
Details for the file docker_monitor_manager-1.0.1-py3-none-any.whl.
File metadata
- Download URL: docker_monitor_manager-1.0.1-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a93dcde19926f6bc111bbb7dbc70c1de28c7dcade59ffc299f0445db3d262567
|
|
| MD5 |
7b6b08ea3f2bc4cef8e6f63b1938779f
|
|
| BLAKE2b-256 |
989cbbd503f5e9ad7341de21cc1644cc104d0e47e227af1bdef3582f78dba990
|