Skip to content

Logs & terminal

Live stdout / stderr streamed over SSE, in the browser, the TUI (l) or the CLI:

Terminal window
kaio-cli container logs <id> --follow --tail 200

Drop --follow (or pass ?follow=false on the API) for a one-shot snapshot.

The equivalent of docker compose logs -f: the logs of every container of a stack merged into one stream, each line prefixed with its colour-coded service name.

Terminal window
kaio-cli stack logs my-db --follow

In the web UI, ⋮ STACK → Logs; in the TUI, l on a stack row.

  • Click a service name to hide or show its lines.
  • Scrolling up pauses the auto-scroll; ↓ Follow resumes it.
  • The stream keeps following containers recreated by an update, apply, rollback or restart, so you do not have to reopen it after a deploy.
  • The initial backlog is interleaved by timestamp, so the first screen reads in chronological order across services.
Merged stack logs: each line prefixed with its colour-coded service name, with per-service toggles above the stream.
Stack logs: three services merged into one stream, each line prefixed and colour-coded, and a toggle per service.

The number of past lines loaded when opening logs is set by KAIO_LOGS_TAIL (default 100, max 10000). For stacks it applies per container, like docker compose logs --tail.

Override it per request with ?tail= on the API, or --tail on the CLI.

Both the container and stack log streams emit one JSON object per line:

{"service":"db","container":"my-db-db-1","stream":"stdout","ts":"…","line":"…"}

That makes them straightforward to pipe into jq or a log shipper.

Open a fully functional sh in any running container, over WebSocket, with xterm.js in the browser.

Interface How Detach
Web Container row → [..] → Terminal Close the panel
TUI ! on a container Ctrl-]
CLI kaio-cli container shell <id> Ctrl-]
An interactive shell open in a container, with three commands run and their output.
A shell opened in a running container, over WebSocket.

Kaio, built by Régis Gaidot