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 uitext
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 quitIt refreshes every second. Closing it with q doesn't affect your apps; they keep running.
Keys
App list
| Key | Action |
|---|---|
| ↑ ↓ or k j | Move between apps |
| enter or l | Open the selected app's logs |
| r | Restart the selected app |
| s | Stop the selected app, or start it if it's stopped |
| R | Restart every running app of the selected app's project |
| c | Reload the project's config (same as watchd reload) |
| d | Stop and unload the project. Asks for confirmation (y/n) |
| q or esc | Quit the dashboard |
Logs view
| Key | Action |
|---|---|
| ↑ ↓, PgUp PgDn, mouse wheel | Scroll |
| G or End | Jump to the newest lines and keep following |
| g or Home | Jump to the oldest lines |
| r | Restart the app |
| esc or q | Back 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
| Symbol | Meaning |
|---|---|
| ● green | Running (and healthy, if it has a health check) |
| ● yellow | Running, health check not passing yet |
| ● red | Running 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 |
| ↻ n | Number 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.