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)
  • sudo privileges
  • curl installed (sudo apt install curl if 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:

  1. Keyrings directory β€” /etc/apt/keyrings holds third-party keys on modern Ubuntu.
  2. GPG key β€” downloaded and de-armoured so APT can verify packages.
  3. Source list β€” lsb_release -sc supplies your Ubuntu codename (for example noble).
  4. 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.

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 β€” pause
  • d β€” remove (confirmation prompted)
  • a β€” attach, E β€” exec into a shell
  • b β€” 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:

  1. Run sudo apt update after adding the repository.
  2. Confirm your release is supported (Jammy, Noble or newer).
  3. 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


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.