How to Install Lazydocker on Ubuntu: A Simple Terminal UI for Docker
Lazydocker is a simple terminal UI for Docker and docker-compose, built by the creator of Lazygit. Rather than juggling docker ps, docker logs, docker stats and docker system prune, you get one keyboard-driven dashboard: containers, images, volumes and networks in a single view, streaming logs, live CPU and memory graphs, and one-key actions to restart, stop, remove or shell into any container.
Lazydocker is not part of the Ubuntu archive, so you would otherwise fetch a release binary or pipe an install script into your shell β and then own the job of keeping it updated.
The unofficial deb.griffo.io repository provides a current Lazydocker package you install and upgrade with apt. This guide covers the full setup on Ubuntu, including the Docker daemon it front-ends.
What Makes Lazydocker Special?
- π One dashboard for everything β containers, Compose services, images, volumes and networks together.
- π Live log streaming β follow any container or service without typing
docker logs. - π Resource graphs β real-time CPU and memory usage drawn in the terminal.
- β‘ One-key actions β restart, stop, remove, pause or rebuild with a single keystroke.
- π Attach and exec β open a shell inside a running container straight from the UI.
- π§Ή Easy pruning β reclaim disk from dangling images, stopped containers and unused volumes.
- π§© docker-compose aware β control a whole Compose project from its directory.
- βοΈ Customisable β add custom commands and tune behaviour via a YAML config.
Why Use the deb.griffo.io Repository?
- Install and update through APT with no manual downloads.
- Automatic dependency management through Debian-style packaging.
- Always tracks upstream so Lazydocker stays current.
- No source builds and no Go toolchain to maintain.
- Works across supported Ubuntu releases β Jammy, Noble and newer.
Prerequisites
You will need:
- An Ubuntu system (Jammy 22.04 LTS, Noble 24.04 LTS, or newer)
sudoprivilegescurlinstalled (sudo apt install curlif it is missing)- Docker installed and running β Lazydocker is a front-end for the Docker daemon
If you do not have Docker yet, install Docker Engine from Dockerβs official APT repository, or use the convenience script for a quick start:
curl -fsSL https://get.docker.com | sudo sh
Step 1: Add the deb.griffo.io Repository
Install the repository key and add its source list:
# Create the keyrings directory
sudo install -d -m 0755 /etc/apt/keyrings
# Download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
# Add the repository (auto-detects your distro codename)
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
# Update the package list
sudo apt update
What each command does:
- Keyrings directory β
/etc/apt/keyringsholds third-party keys on modern Ubuntu. - GPG key β downloaded and de-armoured so APT can verify packages.
- Source list β
lsb_release -scsupplies your Ubuntu codename (for examplenoble). - Update β refreshes APTβs index.
Step 2: Update the Package List
If you did not run the last command above:
sudo apt update
Step 3: Install Lazydocker
sudo apt install lazydocker
APT installs Lazydocker and any dependencies.
Step 4: Verify the Installation
lazydocker --version
You should see output like:
Version: 0.24.1
Date: 2025-04-12T10:14:33Z
BuildSource: binaryRelease
Commit: a1b2c3d
OS: linux
Arch: amd64
Start the interface with:
lazydocker
Press q to exit.
Getting Started with Lazydocker
Grant Your User Docker Access
On a fresh Ubuntu install the Docker socket is root-owned, so Lazydocker either needs sudo or your user needs to be in the docker group. The group approach is tidier:
sudo usermod -aG docker "$USER"
Apply the change with a fresh login or newgrp docker, then confirm access:
docker ps
Once that succeeds, run lazydocker without sudo.
Navigating the Interface
The layout is a column of panels on the left with a detail view on the right:
- Project β docker-compose status when started in a project directory
- Containers β all containers, running or stopped
- Images β local images
- Volumes β Docker volumes
- Networks β Docker networks
Switch panels with the arrow keys or [ / ], move inside a panel with j / k, and press Enter or Tab to jump into the detail view where logs, stats and configuration live.
Key Actions on Containers
Select a container, then:
sβ stop,rβ restart,pβ pausedβ remove (confirmation prompted)aβ attach,Eβ exec into a shellbβ bulk command menu (prune and more)Enterβ view logs, stats, config and environment
Press ? at any time for the full, context-aware keybinding list.
Driving a docker-compose Stack
Launch Lazydocker from a directory containing a docker-compose.yml and it becomes a Compose control panel:
cd ~/apps/web-stack
lazydocker
The Project panel reflects your services; from there you can view combined logs, restart services individually and rebuild β all in the UI.
Configuration and Custom Commands
Lazydocker reads ~/.config/lazydocker/config.yml. Create it to adjust behaviour:
mkdir -p ~/.config/lazydocker
# ~/.config/lazydocker/config.yml
gui:
returnImmediately: false
showBottomLine: true
logs:
timestamps: true
since: '30m'
commandTemplates:
dockerCompose: docker compose
Setting commandTemplates.dockerCompose to docker compose (a space, not a hyphen) points Lazydocker at the Compose V2 plugin that ships with current Docker on Ubuntu, rather than the deprecated standalone docker-compose.
Keeping Lazydocker Updated
Lazydocker updates arrive with your usual Ubuntu upgrades:
sudo apt update && sudo apt upgrade
Other Tools from deb.griffo.io
The repository packages many more developer tools for Ubuntu:
- Zellij β a terminal workspace and multiplexer to run Lazydocker in a pane.
- Helix β a post-modern modal text editor for your Compose files.
- Yazi β a blazing-fast terminal file manager written in Rust.
- Zig β a general-purpose systems programming language.
Troubleshooting
GPG or Key Errors
If APT reports a signature problem, re-install the key:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Package Not Found
If APT cannot find lazydocker:
- Run
sudo apt updateafter adding the repository. - Confirm your release is supported (Jammy, Noble or newer).
- Check the source list:
cat /etc/apt/sources.list.d/deb.griffo.io.list
βCannot connect to the Docker daemonβ
Lazydocker needs a running Docker daemon and permission to reach its socket. On Ubuntu, verify both:
# Is the daemon active?
sudo systemctl status docker
# Can your user reach it?
docker ps
A permission error from docker ps means your user is not in the docker group yet, or you have not started a new login session since adding it β see βGrant Your User Docker Accessβ above. If Docker was installed as a snap, note that its socket permissions differ; installing Docker Engine from Dockerβs APT repository avoids that surprise.
Uninstalling
# Remove the Lazydocker package
sudo apt remove lazydocker
# Optionally remove the repository
sudo rm -f /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm -f /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Conclusion
Lazydocker collapses a pile of docker commands into one fast, keyboard-driven dashboard, and deb.griffo.io keeps it current on Ubuntu with a single apt install. Add yourself to the docker group, launch it inside a Compose project, and you have live logs, resource graphs and one-key container control without ever leaving the terminal.
From then on, new releases reach you through the same apt upgrade you run for everything else on the system.
Resources
- Lazydocker GitHub Repository
- Lazydocker Configuration Docs
- Docker Documentation
- deb.griffo.io Repository
Disclaimer: The deb.griffo.io repository is an unofficial community project and is not affiliated with the official Debian or Ubuntu projects, or with the upstream Lazydocker project.