Skip to main content

DockedUp ๐Ÿณ

htop for your Docker Compose stack.

PyPI version Python Support License: MIT

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.

DockedUp Demo

Key Features

  • Real-Time Monitoring: Live-updating data for status, uptime, CPU, and Memory.
  • Compose Project Grouping: Automatically groups containers by their docker-compose project.
  • Emoji + Colors: Clearly shows container status (Up, Down, Restarting) and health (Healthy, Unhealthy) with visual cues.
  • Interactive Controls: Select containers with arrow keys and use hotkeys to:
    • l โ†’ View live logs (docker logs -f).
    • r โ†’ Restart a container (with confirmation).
    • x โ†’ Stop a container (with confirmation).
    • s โ†’ Open a shell (/bin/sh) inside a container.
  • PyPI Package: Simple one-liner installation.

Problem It Solves

docker stats and docker ps are functional, but fall short when you need to:

  • Monitor container status, health, and resource usage in one unified view.
  • Act on a container (view logs, restart, shell in) without breaking your workflow.
  • Understand a complex docker-compose stack at a glance.

DockedUp solves these problems by presenting your container information in a continuously updating, color-coded, and interactive dashboard right in your terminal.

Installation

DockedUp is available on PyPI. It is highly recommended to install CLI tools in an isolated environment using pipx.

pipx install dockedup

Alternatively, you can use pip:

pip install dockedup

From Source

git clone https://github.com/anilrajrimal1/dockedup.git
cd dockedup
pip install -e .

๐Ÿ“‹ Requirements

  • Python 3.10+
  • Docker Engine (local or remote)
  • Terminal with color support

Usage

Basic Usage

# Start DockedUp with default settings
dockedup

# Custom refresh rate (0.5 seconds)
dockedup --refresh 0.5

# Enable debug mode
dockedup --debug

Command Line Options

dockedup [OPTIONS]

Options:
  -r, --refresh FLOAT    UI refresh rate in seconds (0.1-60.0) [default: 1.0]
  -d, --debug           Enable debug mode with verbose logging
  -v, --version         Show version and exit
  -h, --help            Show help message and exit

Interactive Controls

Once DockedUp is running, use these keyboard shortcuts:

Key Action
โ†‘/โ†“ or k/j Navigate up/down
PgUp/PgDn Scroll through projects
/ Filter by container or project name
p Toggle project mode (act on a whole project at once)
l View live logs
r Restart container, or whole project in project mode (with confirmation)
s Open shell session
x Stop container, or whole project in project mode (with confirmation)
i Show full container details (image, mounts, networks...)
? Show help screen
q or Ctrl+C Quit DockedUp

๐Ÿ–ฅ๏ธ Interface

DockedUp displays containers grouped by Docker Compose project:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                DockedUp - Interactive Docker Compose Monitor         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€ Project: anil-demo โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Container    โ”‚ Status      โ”‚ Uptime โ”‚ Health    โ”‚ CPU %  โ”‚ Memory   โ”‚
โ”‚ anil-demo-web   โ”‚ โœ… Up       โ”‚ 2h 15m โ”‚ ๐ŸŸข Healthyโ”‚ 15.2%  โ”‚ 245M/1G  โ”‚
โ”‚ anil-demo-db    โ”‚ โœ… Up       โ”‚ 2h 15m โ”‚ โ€”         โ”‚ 5.1%   โ”‚ 180M/2G  โ”‚
โ”‚ anil-demo-redis โ”‚ โŒ Down     โ”‚ โ€”      โ”‚ โ€”         โ”‚ โ€”      โ”‚ โ€”        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Q)uit | โ†‘/โ†“ Navigate | L)ogs | R)estart | S)hell | X) Stop | ?) Help

Status Icons

  • โœ… Up - Container is running
  • โŒ Down - Container is stopped/exited
  • ๐Ÿ” Restarting - Container is restarting
  • โธ๏ธ Paused - Container is paused
  • ๐Ÿ’€ Dead - Container is dead
  • ๐Ÿ“ฆ Created - Container created but not started

Health Icons

  • ๐ŸŸข Healthy - Health check passing
  • ๐Ÿ”ด Unhealthy - Health check failing
  • ๐ŸŸก Starting - Health check starting
  • โ€” No health check defined

Configuration

Environment Variables

Variable Description Default
DOCKER_HOST Docker daemon socket unix:///var/run/docker.sock
DOCKER_CERT_PATH Path to Docker certificates โ€”
DOCKER_TLS_VERIFY Enable TLS verification 0

Docker Context

DockedUp respects your Docker context configuration:

# Use a specific Docker context
docker context use myremote
dockedup

# Or temporarily override
DOCKER_HOST=tcp://remote-docker:2376 dockedup

Troubleshooting

Docker Connection Issues

Error: Failed to connect to Docker

  1. Docker Desktop not running (macOS/Windows):

    # Start Docker Desktop, then test:
    docker ps
    
  2. Permission denied (Linux):

    # Add user to docker group:
    sudo usermod -aG docker $USER
    # Then logout and login again
    
  3. Docker daemon not running (Linux):

    # Check status:
    sudo systemctl status docker
    
    # Start if needed:
    sudo systemctl start docker
    

Performance Issues

If DockedUp feels slow:

# Reduce refresh rate
dockedup --refresh 2.0

# Check Docker daemon performance
docker system df
docker system prune  # Clean up unused resources

Debug Mode

Enable debug logging to troubleshoot issues:

dockedup --debug

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Developer's Guide

Interested in contributing or running the project locally?

Prerequisites:

Setup:

  1. Clone the repository:
    git clone https://github.com/anilrajrimal1/dockedup.git
    cd dockedup
    
  2. Install dependencies:
    poetry install
    
  3. Run the application locally:
    poetry run dockedup
    
  4. Run the tests:
    poetry run pytest
    

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


Made with โค๏ธ by Anil for the Docker community

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dockedup-1.1.0.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

dockedup-1.1.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file dockedup-1.1.0.tar.gz.

File metadata

  • Download URL: dockedup-1.1.0.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure

File hashes

Hashes for dockedup-1.1.0.tar.gz
Algorithm Hash digest
SHA256 cbd445263a292c373d8622e9e76300517f9060d002e68a7cb48c5f8edc9b1edf
MD5 01177a833ac54160d2cd54fb0fe45ab6
BLAKE2b-256 1046e8d83f050b782172f04a2579c215ca67f92e45c0bc27a6e7b76d62fff16c

See more details on using hashes here.

File details

Details for the file dockedup-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: dockedup-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure

File hashes

Hashes for dockedup-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 459240bd6cb6cadc3a945b8f312190cff6f973aaaddc2451ef85ff6f3f1257c8
MD5 c7e484037f705018c1ecbf676d2b8210
BLAKE2b-256 7aead068fa365ce930dd0e129fbac6ef6600334bd930c1f3704db14671416af0

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 Sentry Error logging StatusPage Status page