jesseduffield/lazydocker
The lazier way to manage everything docker
How lazydocker is put together
lazydocker is a terminal UI for managing Docker containers, services, images, volumes, and networks, written in Go using the jesseduffield/gocui TUI library. The entrypoint main.go parses CLI flags via flaggy, builds an AppConfig (merging defaults with the user's YAML config), and bootstraps pkg/app.App, which wires together logging, i18n translations, OSCommand (shell execution), DockerCommand (Docker SDK + docker-compose subprocesses), and the GUI layer. Data flows from the Docker daemon (via the docker/docker client) and compose commands into pkg/commands models, which pkg/gui panels render and refresh on keybindings/timers. There is no server or datastore of its own; all state comes from the local Docker daemon and docker-compose.
Languages
Frameworks
Infrastructure
Major components
pkg/app
Bootstraps the application, wires config/logging/i18n/commands/GUI together, maps known errors like Docker socket permission denied to friendly messages.
pkg/commands
Domain layer wrapping the Docker SDK and OS subprocesses: container, service, image, volume, network, and project operations plus stats collection.
pkg/gui
The gocui-based terminal UI: panel layout, keybindings, focus management, filtering, confirmation/menu panels, and subprocess handling.
pkg/gui/presentation
Formats rows displayed in each side panel (containers, images, networks, volumes, services, projects, stats).
pkg/gui/panels
Reusable list-panel primitives including filtered lists and context state shared across side panels.
pkg/config
Loads/merges default and user YAML configuration, defines UserConfig structs (gui, commandTemplates, customCommands, stats), and provides platform-specific OS defaults.
pkg/i18n
Translation sets per language (English, Chinese, Dutch, French, German, Polish, Portuguese, Spanish, Turkish) selected by user config.
pkg/tasks
Manages long-running tasks attached to views (e.g. streaming logs/stats) so they can be paused/stopped when views change.
No digest this week
1 weeksWeek of
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required