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.
Install the Latest Lazydocker on Ubuntu: The Short Version
If you only came for the commands, this adds the repository and installs the latest Lazydocker .deb package on Ubuntu:
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
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
sudo apt update
sudo apt install lazydocker
The rest of this guide explains what each command does, how to verify the install, how to keep Lazydocker up to date, and what to check when something goes wrong.
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.
Frequently Asked Questions
How do I install the latest Lazydocker on Ubuntu?
Add the deb.griffo.io APT repository and its signing key, then run sudo apt install lazydocker. The repository tracks upstream Lazydocker releases, so you get the latest packaged version rather than a build frozen when your distribution was released.
Is there a .deb package for Lazydocker?
Yes. deb.griffo.io publishes Lazydocker as a signed .deb for Ubuntu. You could download that .deb and install it by hand, but adding the repository is the better option: APT then resolves dependencies and picks up new versions on its own.
How do I update Lazydocker to the latest version?
Run sudo apt update && sudo apt upgrade. Once Lazydocker is installed from APT there is no separate updater to remember, since new releases arrive with the rest of your system updates.
How do I install Lazydocker on Debian?
Exactly the same way; lsb_release -sc simply resolves to a different codename. There is a companion guide with the Debian specifics: How to install Lazydocker on Debian.
Which Ubuntu releases are supported?
Jammy 22.04 LTS, Noble 24.04 LTS and newer. Because the repository line is built from lsb_release -sc, the matching suite is selected for you.
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.