Multi-Host Support.
Monitor containers across local, SSH, and TCP connections simultaneously from a single terminal session.
A real-time TUI for monitoring Docker containers across multiple hosts. Track CPU, memory, and network metrics, all from your terminal.
Blazing fast. Minimal resource usage.
No dashboards to configure, no agents to install, no plans to choose. Open the terminal, see the containers, close the terminal.
Monitor containers across local, SSH, and TCP connections simultaneously from a single terminal session.
Track CPU, memory, and network I/O with smooth exponential moving averages. Color-coded at a glance.
Built with Rust for minimal CPU and memory footprint. Starts instantly, runs silently in the background.
Homebrew, Docker, Cargo, Nix, or the install script. One line. Same binary. Pick whatever you already have.
$ brew install dtop $ docker run -v /var/run/docker.sock:/var/run/docker.sock -it ghcr.io/amir20/dtop $ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/amir20/dtop/releases/latest/download/dtop-installer.sh | sh $ nix run github:amir20/dtop $ cargo install dtop $dtop_Sourced from --help, so it stays correct as the binary changes.
-H, --host <HOST>Docker host(s) to connect to. Can be specified multiple times.
--host local Connect to local Docker daemon--host ssh://user@host Connect via SSH--host ssh://user@host:2222 Connect via SSH with custom port--host tcp://host:2375 Connect via TCP to remote Docker daemon--host tls://host:2376 Connect via TLS--host local --host ssh://user@server1 --host tls://server2:2376 Multiple hosts-i, --icons <ICONS>Icon style to use for the UI
--icons unicode Standard Unicode icons (default, works everywhere)--icons nerd Nerd Font icons (requires Nerd Font installed)-f, --filter <FILTER>Filter containers (can be specified multiple times)
--filter status=running --filter name=nginx --filter label=com.example.version=1.0 --filter ancestor=ubuntu:24.04 -a, --allShow all containers (default shows only running containers)
-s, --sort <SORT>Default sort field for container list
--sort uptime Sort by container uptime/creation time (default, newest first)--sort name Sort by container name (alphabetically)--sort cpu Sort by CPU usage (highest first)--sort memory Sort by memory usage (highest first)tip: combine multiple hosts and filters. dtop --host local --host ssh://user@server -f status=running
Hosts, icons, sort, columns, and the show-all toggle. CLI flags always win when they conflict.
Searched in priority order. First found wins.
./config.yaml or ./config.yml, ./.dtop.yaml, ./.dtop.yml.config/dtop/config.yaml or .config/dtop/config.yml.dtop.yaml or .dtop.yml# == Hosts == # Docker host(s) to connect to. You can specify multiple hosts to monitor # them simultaneously. # Possible values for host: local, ssh://user@host, tcp://host:port, tls://host:port # Optional fields per host: dozzle (URL), filter (list of Docker filters) hosts: - host: local # - host: ssh://user@server1 # dozzle: https://dozzle.server1.com/ # filter: # - status=running # - label=environment=production # - host: tcp://192.168.1.100:2375 # - host: tls://192.168.1.100:2376
# == Icons == # Icon style for the UI. # Possible values: unicode, nerd (requires Nerd Font) icons: unicode
# == All == # Whether to show all containers including stopped, exited, and paused. # Possible values: true, false all: false
# == Sort == # Default sort field for the container list. # Possible values: uptime, name, cpu, memory sort: uptime
# == Columns == # Column visibility and order. # List only the columns you want to see, in the order you want them. # Omitted columns are hidden. Press 'c' in the UI to toggle columns interactively. # Possible values: status, name, id, host, compose, cpu, memory, net_tx, net_rx, uptime, restarts # columns: # - status # - name # - id # - host # - compose # - cpu # - memory # - net_tx # - net_rx # - uptime # - restarts
tip: CLI arguments always take precedence over config file values.
Eight bindings cover navigation, search, sort, and column visibility. Press ? anywhere for the in-app overlay.
tip: connect to remote hosts with dtop --host ssh://user@host