{"id":29728584,"url":"https://github.com/anilrajrimal1/dockedup","last_synced_at":"2025-07-25T02:39:55.168Z","repository":{"id":301361245,"uuid":"1008182647","full_name":"anilrajrimal1/dockedup","owner":"anilrajrimal1","description":"A real-time, interactive CLI dashboard for monitoring Docker containers. View status, health, CPU, and memory usage with a clean, color-coded interface. Supports docker-compose grouping and hotkeys for logs, restarts, and shell access — all from the terminal.","archived":false,"fork":false,"pushed_at":"2025-07-04T04:08:39.000Z","size":106,"stargazers_count":34,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T05:18:14.363Z","etag":null,"topics":["cli","container","devops","docker","docker-compose","monitoring"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anilrajrimal1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-25T06:46:33.000Z","updated_at":"2025-07-04T04:05:52.000Z","dependencies_parsed_at":"2025-07-04T05:18:13.946Z","dependency_job_id":null,"html_url":"https://github.com/anilrajrimal1/dockedup","commit_stats":null,"previous_names":["anilrajrimal1/dockedup"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/anilrajrimal1/dockedup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anilrajrimal1%2Fdockedup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anilrajrimal1%2Fdockedup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anilrajrimal1%2Fdockedup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anilrajrimal1%2Fdockedup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anilrajrimal1","download_url":"https://codeload.github.com/anilrajrimal1/dockedup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anilrajrimal1%2Fdockedup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266945135,"owners_count":24010493,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","container","devops","docker","docker-compose","monitoring"],"created_at":"2025-07-25T02:39:47.110Z","updated_at":"2025-07-25T02:39:55.157Z","avatar_url":"https://github.com/anilrajrimal1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DockedUp 🐳\n\n**htop for your Docker Compose stack.**\n\n[![PyPI version](https://badge.fury.io/py/dockedup.svg)](https://badge.fury.io/py/dockedup)\n[![Python Support](https://img.shields.io/pypi/pyversions/dockedup.svg)](https://pypi.org/project/dockedup/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/anilrajrimal1/dockedup/blob/master/LICENSE)\n\n**DockedUp** is an interactive command-line tool that provides a live, beautiful, and human-friendly monitor for your Docker containers. It's designed for developers and DevOps engineers who want a quick, real-time overview of their containerized environments without the noise of `docker ps` and the hassle of switching terminals.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/a262e176-f73b-4f40-86f0-954708608dbc\" alt=\"DockedUp Demo\"\u003e\n\u003c/div\u003e\n\n### Key Features\n\n- **Real-Time Monitoring**: Live-updating data for status, uptime, CPU, and Memory.\n- **Compose Project Grouping**: Automatically groups containers by their `docker-compose` project.\n- **Emoji + Colors**: Clearly shows container status (`Up`, `Down`, `Restarting`) and health (`Healthy`, `Unhealthy`) with visual cues.\n- **Interactive Controls**: Select containers with arrow keys and use hotkeys to:\n    -  `l` → View live logs (`docker logs -f`).\n    -  `r` → Restart a container (with confirmation).\n    -  `x` → Stop a container (with confirmation).\n    -  `s` → Open a shell (`/bin/sh`) inside a container.\n- **PyPI Package**: Simple one-liner installation.\n\n### Problem It Solves\n\n`docker stats` and `docker ps` are functional, but fall short when you need to:\n- **Monitor** container status, health, and resource usage in one unified view.\n- **Act** on a container (view logs, restart, shell in) without breaking your workflow.\n- **Understand** a complex `docker-compose` stack at a glance.\n\nDockedUp solves these problems by presenting your container information in a continuously updating, color-coded, and interactive dashboard right in your terminal.\n\n### Installation\n\nDockedUp is available on PyPI. It is highly recommended to install CLI tools in an isolated environment using `pipx`.\n\n```bash\npipx install dockedup\n```\n\nAlternatively, you can use `pip`:\n```bash\npip install dockedup\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/anilrajrimal1/dockedup.git\ncd dockedup\npip install -e .\n```\n\n## 📋 Requirements\n\n- Python 3.10+\n- Docker Engine (local or remote)\n- Terminal with color support\n\n## Usage\n\n### Basic Usage\n\n```bash\n# Start DockedUp with default settings\ndockedup\n\n# Custom refresh rate (0.5 seconds)\ndockedup --refresh 0.5\n\n# Enable debug mode\ndockedup --debug\n```\n\n### Command Line Options\n\n```bash\ndockedup [OPTIONS]\n\nOptions:\n  -r, --refresh FLOAT    UI refresh rate in seconds (0.1-60.0) [default: 1.0]\n  -d, --debug           Enable debug mode with verbose logging\n  -v, --version         Show version and exit\n  -h, --help            Show help message and exit\n```\n\n### Interactive Controls\n\nOnce DockedUp is running, use these keyboard shortcuts:\n\n| Key | Action |\n|-----|--------|\n| `↑/↓` or `k/j` | Navigate up/down |\n| `l` | View live logs |\n| `r` | Restart container (with confirmation) |\n| `s` | Open shell session |\n| `x` | Stop container (with confirmation) |\n| `?` | Show help screen |\n| `q` or `Ctrl+C` | Quit DockedUp |\n\n## 🖥️ Interface\n\nDockedUp displays containers grouped by Docker Compose project:\n\n```\n┌─────────────────────────────────────────────────────────────────────┐\n│                DockedUp - Interactive Docker Compose Monitor         │\n└─────────────────────────────────────────────────────────────────────┘\n\n┌─ Project: anil-demo ──────────────────────────────────────────────────┐\n│ Container    │ Status      │ Uptime │ Health    │ CPU %  │ Memory   │\n│ anil-demo-web   │ ✅ Up       │ 2h 15m │ 🟢 Healthy│ 15.2%  │ 245M/1G  │\n│ anil-demo-db    │ ✅ Up       │ 2h 15m │ —         │ 5.1%   │ 180M/2G  │\n│ anil-demo-redis │ ❌ Down     │ —      │ —         │ —      │ —        │\n└────────────────────────────────────────────────────────────────────┘\n\nQ)uit | ↑/↓ Navigate | L)ogs | R)estart | S)hell | X) Stop | ?) Help\n```\n\n### Status Icons\n\n- ✅ **Up** - Container is running\n- ❌ **Down** - Container is stopped/exited\n- 🔁 **Restarting** - Container is restarting\n- ⏸️ **Paused** - Container is paused\n- 💀 **Dead** - Container is dead\n- 📦 **Created** - Container created but not started\n\n### Health Icons\n\n- 🟢 **Healthy** - Health check passing\n- 🔴 **Unhealthy** - Health check failing  \n- 🟡 **Starting** - Health check starting\n- — **No health check** defined\n\n## Configuration\n\n### Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `DOCKER_HOST` | Docker daemon socket | `unix:///var/run/docker.sock` |\n| `DOCKER_CERT_PATH` | Path to Docker certificates | — |\n| `DOCKER_TLS_VERIFY` | Enable TLS verification | `0` |\n\n### Docker Context\n\nDockedUp respects your Docker context configuration:\n\n```bash\n# Use a specific Docker context\ndocker context use myremote\ndockedup\n\n# Or temporarily override\nDOCKER_HOST=tcp://remote-docker:2376 dockedup\n```\n\n## Troubleshooting\n\n### Docker Connection Issues\n\n**Error: Failed to connect to Docker**\n\n1. **Docker Desktop not running** (macOS/Windows):\n   ```bash\n   # Start Docker Desktop, then test:\n   docker ps\n   ```\n\n2. **Permission denied** (Linux):\n   ```bash\n   # Add user to docker group:\n   sudo usermod -aG docker $USER\n   # Then logout and login again\n   ```\n\n3. **Docker daemon not running** (Linux):\n   ```bash\n   # Check status:\n   sudo systemctl status docker\n   \n   # Start if needed:\n   sudo systemctl start docker\n   ```\n\n### Performance Issues\n\nIf DockedUp feels slow:\n\n```bash\n# Reduce refresh rate\ndockedup --refresh 2.0\n\n# Check Docker daemon performance\ndocker system df\ndocker system prune  # Clean up unused resources\n```\n\n### Debug Mode\n\nEnable debug logging to troubleshoot issues:\n\n```bash\ndockedup --debug\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Developer's Guide\n\nInterested in contributing or running the project locally?\n\n**Prerequisites:**\n-  Git\n-  Python 3.10+\n-  [Poetry](https://python-poetry.org/)\n\n**Setup:**\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/anilrajrimal1/dockedup.git\n    cd dockedup\n    ```\n2.  Install dependencies:\n    ```bash\n    poetry install\n    ```\n3.  Run the application locally:\n    ```bash\n    poetry run dockedup\n    ```\n4.  Run the tests:\n    ```bash\n    poetry run pytest\n    ```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Inspired by [htop](https://htop.dev/) and [lazydocker](https://github.com/jesseduffield/lazydocker)\n- Built with [Rich](https://github.com/Textualize/rich) and [Typer](https://github.com/tiangolo/typer)\n---\n\n**Made with ❤️ by [Anil](https://anilrajrimal.com.np) for the Docker community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanilrajrimal1%2Fdockedup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanilrajrimal1%2Fdockedup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanilrajrimal1%2Fdockedup/lists"}