Skip to content

jeppestaerk/lazydocker-webui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LazyDocker Web UI

A Docker containerized deployment of lazydocker with web-based terminal access via ttyd.

Features

  • ๐ŸŒ Browser-based access to lazydocker terminal UI
  • ๐Ÿณ Multi-architecture support (amd64, arm64)
  • ๐Ÿ”„ Automated dependency updates via Renovate
  • ๐Ÿ“ฆ Published to GitHub Container Registry
  • ๐Ÿ”’ Includes SBOM and provenance attestations

โš ๏ธ Security Warning

This container requires access to the Docker socket (/var/run/docker.sock) and provides unauthenticated access to the Docker daemon through a web interface.

Security considerations:

  • Anyone with access to the web interface (port 7682) can manage all Docker resources on the host
  • This grants root-equivalent access to the host system
  • Do not expose this port to the internet without proper authentication/VPN
  • Only use on trusted networks or with additional security measures (e.g., reverse proxy with authentication)

Recommended security measures:

  • Use a reverse proxy (nginx, Traefik, Caddy) with authentication
  • Bind to localhost only: -p 127.0.0.1:7682:7682
  • Use a VPN or SSH tunnel for remote access
  • Consider Docker socket proxy solutions for additional isolation

Quick Start

Using Pre-built Image from GitHub Container Registry

With Docker Run:

docker run -d \
  --name lazydocker-webui \
  -p 7682:7682 \
  -e TZ=Europe/Copenhagen \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v lazydocker-config:/.config/jesseduffield/lazydocker \
  --restart unless-stopped \
  ghcr.io/jeppestaerk/lazydocker-webui:latest

With Docker Compose:

services:
  lazydocker-webui:
    image: ghcr.io/jeppestaerk/lazydocker-webui:latest
    container_name: lazydocker-webui
    ports:
      - "7682:7682"
    environment:
      - TZ=${TZ:-Europe/Copenhagen}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - lazydocker-config:/.config/jesseduffield/lazydocker
    restart: unless-stopped

volumes:
  lazydocker-config:
    driver: local

Then run:

docker compose up -d

Access lazydocker at http://localhost:7682

Building Locally

Clone the repository:

git clone [email protected]:jeppestaerk/lazydocker-webui.git
cd lazydocker-webui

With Docker Compose:

The repository includes a docker-compose.yaml that builds from source:

docker compose up -d

With Docker Run:

# Build the image
docker build -t lazydocker-webui .

# Run the container
docker run -d \
  --name lazydocker-webui \
  -p 7682:7682 \
  -e TZ=Europe/Copenhagen \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v lazydocker-config:/.config/jesseduffield/lazydocker \
  --restart unless-stopped \
  lazydocker-webui

Access lazydocker at http://localhost:7682

Configuration

Environment Variables

  • TZ - Timezone (default: Europe/Copenhagen)

Volumes

  • /var/run/docker.sock - Required for Docker host access
  • /.config/jesseduffield/lazydocker - Persists lazydocker configuration

Ports

  • 7682 - ttyd web interface

Development

Stop Service

docker compose up -d

View Logs

docker compose logs -f

Stop Service

docker compose down

Dependencies

Dependencies are automatically updated via Renovate:

  • Go Alpine Base Image: Tracked from Docker Hub golang repository
  • Lazydocker: Tracked from GitHub releases

Updates run weekly on Mondays before 4am UTC and auto-merge when CI passes.

CI/CD

GitHub Actions automatically builds and publishes multi-architecture images to GitHub Container Registry on every push to main.

License

This project is licensed under the MIT License.

Upstream Projects

This is a containerized wrapper for the following projects:

About

๐Ÿณ Web-based Docker management UI powered by lazydocker and ttyd.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •