How to Install Lazydocker on Debian: A Simple Terminal UI for Docker

Lazydocker is a simple terminal UI for both Docker and docker-compose, from the author of Lazygit. Instead of stringing together docker ps, docker logs, docker stats and docker system prune, you get a single keyboard-driven dashboard that shows your containers, images, volumes and networks, live logs and resource graphs, and lets you restart, stop, remove or shell into containers with a keypress.

Lazydocker is not shipped in Debian’s official repositories, so the usual options are downloading a release binary or running an install script — both of which leave you to handle updates by hand.

The unofficial deb.griffo.io repository packages a current Lazydocker you install and update with apt. This guide covers the whole process on Debian, including the Docker prerequisites Lazydocker needs to talk to.

What Makes Lazydocker Special?

  • 📊 One dashboard for everything — containers, services, images, volumes and networks in a single view.
  • 📜 Live log streaming — follow the logs of any container or Compose service without typing docker logs.
  • 📈 Resource graphs — real-time CPU and memory usage rendered right in the terminal.
  • ⚡ One-key actions — restart, stop, remove, pause or rebuild containers with a single keystroke.
  • 🐚 Attach and exec — drop into a shell inside a running container directly from the UI.
  • 🧹 Easy pruning — reclaim disk space by removing dangling images, stopped containers and unused volumes.
  • 🧩 docker-compose aware — group and control an entire Compose project from its directory.
  • ⚙️ Customisable — bind custom commands and tweak behaviour through a YAML config file.

Why Use the deb.griffo.io Repository?

  • Easy installation and updates through the APT package manager.
  • Automatic dependency management handled by the Debian packaging.
  • Always tracks upstream releases so you get the latest Lazydocker.
  • No compiling from source and no Go toolchain to manage.
  • Works across supported Debian releases — Bookworm, Trixie and Sid.

Prerequisites

Before you begin, make sure you have:

  • A Debian-based system (Bookworm 12, Trixie 13, or Sid)
  • sudo privileges
  • curl installed (sudo apt install curl if needed)
  • Docker installed and running (Lazydocker is a front-end for the Docker daemon)

If Docker is not yet installed, the quickest route on Debian is Docker’s convenience script:

curl -fsSL https://get.docker.com | sudo sh

Step 1: Add the deb.griffo.io Repository

Register the repository’s signing key and 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

Step by step:

  1. Keyrings directory — creates /etc/apt/keyrings for third-party signing keys.
  2. GPG key — downloads and de-armours the key so APT can verify packages.
  3. Source list — adds the repository, detecting your Debian codename with lsb_release -sc.
  4. Update — refreshes the package index.

Step 2: Update the Package List

If you skipped 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 similar to:

Version: 0.24.1
Date: 2025-04-12T10:14:33Z
BuildSource: binaryRelease
Commit: a1b2c3d
OS: linux
Arch: amd64

Launch the interface by running:

lazydocker

Press q to quit.

Getting Started with Lazydocker

Running Docker Without sudo

By default the Docker socket is owned by root, so you may need sudo lazydocker. The cleaner approach is to add your user to the docker group so Lazydocker can talk to the daemon directly:

sudo usermod -aG docker "$USER"

Log out and back in (or run newgrp docker) for the change to take effect, then run lazydocker without sudo.

The Interface at a Glance

Lazydocker’s screen is split into panels on the left and a detail view on the right:

  • Project — overall docker-compose status when launched in a project directory
  • Containers — every container, running or stopped
  • Images — local images
  • Volumes — Docker volumes
  • Networks — Docker networks

Move between panels with the arrow keys or [ and ], move within a panel with j/k, and press Enter or Tab to focus the detail view.

Everyday Keybindings

With a container selected in the Containers panel:

  • d — remove the container (with a confirmation prompt)
  • s — stop, r — restart, p — pause
  • a — attach to the container
  • E — exec a shell inside the container
  • b — open the bulk-command menu (prune, etc.)
  • Enter — inspect logs, stats, config and the environment in the detail panel

Press ? at any time to see the full, context-sensitive list of keybindings.

Working with docker-compose Projects

Lazydocker becomes a Compose control panel when you launch it from a directory containing a docker-compose.yml:

cd ~/projects/my-stack
lazydocker

The Project panel now reflects your Compose services. From there you can view aggregated logs, restart individual services, and rebuild — all without leaving the UI.

Custom Commands and Configuration

Lazydocker reads its configuration from ~/.config/lazydocker/config.yml. Create it to change behaviour or add your own commands:

mkdir -p ~/.config/lazydocker
# ~/.config/lazydocker/config.yml
gui:
  theme:
    activeBorderColor:
      - green
      - bold
  returnImmediately: false
logs:
  timestamps: false
  since: '60m'
commandTemplates:
  dockerCompose: docker compose

Setting commandTemplates.dockerCompose to docker compose (with a space) tells Lazydocker to use the modern Compose V2 plugin rather than the legacy docker-compose binary.

Keeping Lazydocker Updated

Because Lazydocker is installed via APT, updates come with your normal system upgrade:

sudo apt update && sudo apt upgrade

Other Tools from deb.griffo.io

The same repository packages many other developer tools for Debian:

  • 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 cannot verify the repository, re-add the signing 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 install lazydocker cannot find the package:

  1. Run sudo apt update after adding the repository.
  2. Check your release is supported (Bookworm, Trixie or Sid).
  3. Inspect the source list:
cat /etc/apt/sources.list.d/deb.griffo.io.list

“Cannot connect to the Docker daemon”

Lazydocker is only a front-end; it needs a running Docker daemon and permission to reach its socket. Confirm the daemon is up and that your user can talk to it:

# Is the daemon running?
sudo systemctl status docker

# Can your user reach the socket?
docker ps

If docker ps fails with a permission error, you have not been added to the docker group yet (see “Running Docker Without sudo” above) or you need to start a fresh login session.

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 turns a scattered set of docker commands into a single, fast, keyboard-driven dashboard, and deb.griffo.io keeps it current on Debian with one apt install. Add yourself to the docker group, launch it from a Compose project, and you have live logs, resource graphs and one-key container management without leaving the terminal.

Every future release reaches you through the same apt upgrade you already run for the rest of your 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.