# 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)
```bash
pip install docker-monitor-manager
```
### Option 2: Install from Source
```bash
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 using either command:
```bash
# Full package name
docker-monitor-manager
# Or short command
dmm
```
### Development Setup
If you want to contribute or modify the source code:
### 1. Clone the Repository
```bash
git clone https://github.com/amir-khoshdel-louyeh/docker-monitor.git
cd docker-monitor
```
### 2. Create and Activate a Virtual Environment
**On macOS / Linux:**
```bash
python3 -m venv venv
source venv/bin/activate
```
**On Windows:**
```cmd
python -m venv venv
venv\Scripts\activate
```
### 3. Install in Development Mode
```bash
pip install -e .
```
## Configuration ⚙️
**On Windows:**
```bash
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`.
```bash
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.
```bash
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:
Raw data
{
"_id": null,
"home_page": "https://github.com/amir-khoshdel-louyeh/docker-monitor",
"name": "docker-monitor-manager",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "docker, monitoring, containers, gui, desktop, management",
"author": "Amir Khoshdel Louyeh",
"author_email": "Amir Khoshdel Louyeh <your.email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/47/bf/c5f2b6688163c17f6920b18235f2c7d17e15d407248d0a2225d93efbfe80/docker_monitor_manager-1.0.4.tar.gz",
"platform": null,
"description": "# DocMan \ud83d\udc33\ud83d\udcca\n\nA powerful desktop tool for monitoring and managing Docker containers, built with Python and Tkinter.\n\nThis application provides a native graphical interface for live monitoring and management of your Docker containers, including:\n\n- Real-time resource tracking (CPU & RAM).\n- Auto-scaling of services when resource limits are exceeded.\n- An integrated terminal for running Docker commands directly.\n\n---\n\n## Features \u2728\n- \ud83d\udcc8 **Live container stats** (CPU%, RAM%) \n- \u26a1 **Auto-scale** containers when resource limits are exceeded \n- \u23ef\ufe0f **Manage containers**: Stop, Pause, Unpause, Restart, and Remove containers directly from the UI.\n- \ud83c\udf9b\ufe0f **Global controls**: Apply actions to all containers at once.\n- \ud83d\udda5\ufe0f **Embedded Terminal**: A secure terminal for running `docker` commands.\n- \ud83d\udcdd **Live Application Logs**: See what the monitor is doing in real-time.\n- \u2699\ufe0f **Dynamic Configuration**: Adjust CPU/RAM limits and other settings without restarting the app.\n\n---\n\n## Installation \ud83d\ude80\n\n### Option 1: Install from PyPI (Recommended)\n```bash\npip install docker-monitor-manager\n```\n\n### Option 2: Install from Source\n```bash\ngit clone https://github.com/amir-khoshdel-louyeh/docker-monitor.git\ncd docker-monitor\npip install .\n```\n\n### Prerequisites\n- **Python 3.8+**\n- **Docker Engine** (must be installed and running)\n\n## Usage \n\nAfter installation, you can run Docker Manager from anywhere using either command:\n\n```bash\n# Full package name\ndocker-monitor-manager\n\n# Or short command\ndmm\n```\n\n### Development Setup\n\nIf you want to contribute or modify the source code:\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/amir-khoshdel-louyeh/docker-monitor.git\ncd docker-monitor\n```\n\n### 2. Create and Activate a Virtual Environment\n\n**On macOS / Linux:**\n```bash\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n**On Windows:**\n```cmd\npython -m venv venv\nvenv\\Scripts\\activate\n```\n\n### 3. Install in Development Mode\n```bash\npip install -e .\n```\n\n## Configuration \u2699\ufe0f\n**On Windows:**\n```bash\npython -m venv venv\n.\\venv\\Scripts\\activate\n```\n\nYou can adjust the monitoring behavior in the script:\n### 3. Install Dependencies\nInstall the required Python packages from `requirements.txt`.\n```bash\npip install -r requirements.txt\n```\n\n- **CPU Limit**: `CPU_LIMIT = 70.0` \n- **RAM Limit**: `RAM_LIMIT = 70.0` \n- **Max Clones**: `CLONE_NUM = 2` \n- **Check Interval**: `SLEEP_TIME = 1` (seconds) \n### 4. Run the Application\nLaunch the Tkinter application.\n```bash\npython3 app_tkinter.py\n```\n\n---\n\n## API Endpoints \ud83d\udce1\n## Configuration \u2699\ufe0f\n\n- `/` \u2192 Web dashboard \n- `/logs` \u2192 Returns latest logs in JSON \n- `/container_stats` \u2192 Stats for all containers (JSON) \n- `/control` \u2192 Control a specific container (pause, unpause, restart, remove) \n- `/control_all` \u2192 Apply action to all containers \n- `/stream` \u2192 Live event stream (Server-Sent Events) \n- `/kill_remove` \u2192 Run kill & remove script \n- `/test_environment` \u2192 Run test setup script \nYou can adjust the monitoring behavior by clicking the **\"Config\"** button within the application. This allows you to dynamically change:\n\n---\n- **CPU Limit (%)**\n- **RAM Limit (%)**\n- **Max Clones**\n- **Check Interval (s)**\n\n## Example Dashboard Screenshot \ud83d\uddbc\ufe0f\n*(Add your screenshot here!)* \n\n---\n\n## Notes \ud83d\udcdd\n- Requires Docker daemon access (if running without root, make sure your user is added to the `docker` group). \n- Custom scripts used: \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A powerful desktop tool for monitoring and managing Docker containers",
"version": "1.0.4",
"project_urls": {
"Homepage": "https://github.com/amir-khoshdel-louyeh/docker-monitor",
"Issues": "https://github.com/amir-khoshdel-louyeh/docker-monitor/issues",
"Repository": "https://github.com/amir-khoshdel-louyeh/docker-monitor"
},
"split_keywords": [
"docker",
" monitoring",
" containers",
" gui",
" desktop",
" management"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1bbf8673c8c2aae5c41e5ad026dc1027b5821452ceac841bcbafb794ca2a97fc",
"md5": "3ffb89cb42e00ed7c566416f37908489",
"sha256": "2f2bcc27136952914df87a0c1713e32283d9e782621647abdff0a0d92318e79e"
},
"downloads": -1,
"filename": "docker_monitor_manager-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ffb89cb42e00ed7c566416f37908489",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 12883,
"upload_time": "2025-10-09T08:45:36",
"upload_time_iso_8601": "2025-10-09T08:45:36.630244Z",
"url": "https://files.pythonhosted.org/packages/1b/bf/8673c8c2aae5c41e5ad026dc1027b5821452ceac841bcbafb794ca2a97fc/docker_monitor_manager-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "47bfc5f2b6688163c17f6920b18235f2c7d17e15d407248d0a2225d93efbfe80",
"md5": "6e95dfa937aecbb68627cb84403e4e62",
"sha256": "6552fa2cad69e08654b803f7d6b74b996559eb712b06dcd7acaf95f623f01583"
},
"downloads": -1,
"filename": "docker_monitor_manager-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "6e95dfa937aecbb68627cb84403e4e62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15520,
"upload_time": "2025-10-09T08:45:38",
"upload_time_iso_8601": "2025-10-09T08:45:38.080105Z",
"url": "https://files.pythonhosted.org/packages/47/bf/c5f2b6688163c17f6920b18235f2c7d17e15d407248d0a2225d93efbfe80/docker_monitor_manager-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 08:45:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "amir-khoshdel-louyeh",
"github_project": "docker-monitor",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "docker",
"specs": []
}
],
"lcname": "docker-monitor-manager"
}