id = "dtop"
name = "dtop"
homepage = "https://github.com/amir20/dtop"
description = "A terminal-based Docker container monitoring tool with real-time CPU and memory metrics."
executables = ["dtop"]
[dotfiles]
paths = ["~/.config/dtop/config.yaml", "~/.config/dtop/config.yml", "~/.dtop.yaml", "~/.dtop.yml"]
secret = []
[commands]
format = 1
label = "Monitor containers"
description = "Start dtop against one or more Docker hosts. Subcommands (update) and TLS certificate setup are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/amir20/dtop"
revision = "dtop --help (README)"
evidence = """
Usage: dtop [OPTIONS] [COMMAND]
-c, --config <PATH>
Path to a config file to use instead of the default locations
-H, --host <HOST>
Docker host(s) to connect to. Can be specified multiple times.
--host local (Connect to local Docker daemon / active Docker context)
--host unix:///path/docker.sock (Connect to a specific Unix socket)
--host ssh://user@host (Connect via SSH)
--host tcp://host:2375 (Connect via TCP to remote Docker daemon)
--host tls://host:2376 (Connect via TLS)
-i, --icons <ICONS>
auto - Nerd Font icons on terminals that ship them built in
unicode - Standard Unicode icons (works everywhere)
nerd - Nerd Font icons (requires Nerd Font installed)
-f, --filter <FILTER>
Filter containers (can be specified multiple times)
--filter status=running
--filter name=nginx
-a, --all
Show all containers (default shows only running containers)
-s, --sort <SORT>
uptime - Sort by container uptime/creation time (default, newest first)
name - Sort by container name (alphabetically)
cpu - Sort by CPU usage (highest first)
memory - Sort by memory usage (highest first)
"""
[[commands.field]]
id = "host"
label = "Docker host"
description = "Repeat for several hosts. Defaults to the config file or local."
type = "string"
option = ["--host", "-H"]
multiple = true
suggestions = [{ value = "local", label = "Local Docker daemon" }, { value = "ssh://user@host", label = "SSH" }, { value = "tcp://host:2375", label = "TCP" }, { value = "tls://host:2376", label = "TLS" }]
sources = ["help"]
[[commands.field]]
id = "all"
label = "Show all containers"
description = "Include stopped, exited and paused containers."
type = "boolean"
option = ["--all", "-a"]
sources = ["help"]
[[commands.field]]
id = "filter"
label = "Filter"
description = "name=value, e.g. status=running or name=nginx. Repeatable."
type = "string"
option = ["--filter", "-f"]
multiple = true
suggestions = [{ value = "status=running", label = "Running" }, { value = "name=nginx", label = "Name" }]
sources = ["help"]
[[commands.field]]
id = "sort"
label = "Sort by"
type = "enum"
option = ["--sort", "-s"]
choices = [{ value = "uptime", label = "Uptime" }, { value = "name", label = "Name" }, { value = "cpu", label = "CPU" }, { value = "memory", label = "Memory" }]
sources = ["help"]
[[commands.field]]
id = "icons"
label = "Icon style"
type = "enum"
option = ["--icons", "-i"]
choices = [{ value = "auto", label = "Auto" }, { value = "unicode", label = "Unicode" }, { value = "nerd", label = "Nerd Font" }]
sources = ["help"]
[[commands.field]]
id = "config"
label = "Config file"
type = "path"
option = ["--config", "-c"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["help"]
[[commands.task]]
id = "local"
label = "Local containers"
fields = ["all", "filter", "sort", "icons"]
required = []
[[commands.task]]
id = "remote"
label = "Remote host"
fields = ["host", "all", "filter", "sort"]
required = ["host"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["host", "all", "filter", "sort"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["icons", "config"]