Skip to content

The dashboard ​

watchd ui opens a live, full-screen dashboard of every loaded project and app in your terminal, similar to htop or lazygit.

sh
watchd ui
text
 watchd   2 project(s) · 3/4 apps running

 shop  ~/work/shop/watchd.lua
❯ ● api     running (healthy)   pid 41233   up 3m12s
  ● web     running             pid 41260   up 3m11s
  ✗ worker  failed (exit 1)                            ↻ 5  exit code 1

 blog  ~/work/blog/watchd.lua
  ● site    running             pid 40211   up 2h10m

 ↑/↓ move · enter logs · r restart · s stop/start · R restart project · c reload · d down · q quit

It refreshes every second. Closing it with q doesn't affect your apps; they keep running.

Keys ​

App list ​

KeyAction
↑ ↓ or k jMove between apps
enter or lOpen the selected app's logs
rRestart the selected app
sStop the selected app, or start it if it's stopped
RRestart every running app of the selected app's project
cReload the project's config (same as watchd reload)
dStop and unload the project. Asks for confirmation (y/n)
q or escQuit the dashboard

Logs view ​

KeyAction
↑ ↓, PgUp PgDn, mouse wheelScroll
G or EndJump to the newest lines and keep following
g or HomeJump to the oldest lines
rRestart the app
esc or qBack to the app list

The logs view follows new output as long as you're at the bottom. Scroll up to pause it (the header says paused), and press G to resume.

Reading the list ​

SymbolMeaning
● greenRunning (and healthy, if it has a health check)
● yellowRunning, health check not passing yet
● redRunning but unhealthy
◐Waiting for dependencies, or about to restart after a crash
✗Failed: couldn't start, or gave up restarting. The reason is shown at the end of the row
◌Exited cleanly and not restarted
○Stopped
↻ nNumber of restarts

See How supervision works for what each state means.

When to use the dashboard and when to use commands ​

The dashboard is for watching and quick actions while you work. The regular commands (ps, logs, restart and so on) print plain text, so they're the right choice for scripts, CI and SSH sessions, or for piping into other tools. They can do everything the dashboard does.

Released under the MIT License.