Skip to content

jalonsogo/tinyd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‹ tinyd - Docker Terminal UI

tinyd Screenshot

A blazingly fast, beautifully minimal Terminal User Interface for Docker management. Built with Go and Bubble Tea.

tinyd Go License

โœจ Why tinyd?

tinyd (Terminal UI Kit) transforms Docker management into a delightful terminal experience. No more memorizing complex CLI commands or switching between browser tabs. Everything you need is right at your fingertips.

๐ŸŽฏ Standout Features

๐Ÿ“ฑ Fully Responsive

  • Adapts seamlessly to any terminal size
  • Works beautifully in VSCode terminal splits
  • Perfect for small screens and tmux panes
  • Minimum dimensions: 60 columns ร— 13 rows
  • Real-time resizing without restart

๐Ÿ” Deep Resource Inspection

  • Images: Explore layer-by-layer composition, architecture details, and exposed configurations
  • Volumes: See exactly which containers are using each volume, driver options, and usage statistics
  • Containers: Full stats, bind mounts, and runtime configuration at a glance

โšก Lightning Fast Operations

  • Start/stop containers with a single keypress
  • Restart misbehaving services instantly
  • Open exposed ports directly in your browser
  • Delete resources with confirmation modals
  • Run new containers from images interactively

๐ŸŽจ Minimalist Design

  • Clean, distraction-free interface
  • Classic terminal aesthetics (green/yellow/red color scheme)
  • Smart status indicators (green dots for active, gray for inactive, yellow for dangling)
  • Intelligent scrolling for large resource lists
  • Box-drawing characters for crisp borders

๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/jalonsogo/tinyd.git
cd tinyd

# Build the binary
go build -o tinyd

# Run it!
./tinyd

Prerequisites

  • Go 1.19 or higher
  • Docker daemon running (local or remote)
  • Terminal with Unicode support

๐ŸŽฎ Interactive Features

Container Management

  • s - Start or stop containers (smart toggle)
  • r - Restart running containers
  • c - Open interactive shell with altscreen (preserves TUI state)
  • o - Open exposed ports in browser (port selector for multiple ports)
  • l - View last 100 lines of logs in scrollable view
  • i - Inspect deep: stats, mounts, configuration
  • D - Delete with confirmation (works across all tabs)

Image Operations

  • R - Run new containers with interactive modal (name, ports, volumes, env vars)
  • i - Inspect layers, architecture, and configuration
  • D - Remove images (with force option)
  • f - Filter by status: All / In Use / Unused / Dangling

Volume Management

  • i - Inspect volume details, see which containers are attached
  • D - Delete volumes safely
  • Container column shows which containers use each volume in real-time

Network Inspection

  • View all networks with connection status
  • Filter active vs. unused networks
  • See IPv4/IPv6 subnet information

๐Ÿ“Š All Four Tabs

1๏ธโƒฃ Containers (Default)

Real-time container monitoring with live CPU and memory stats:

โ— nginx-proxy     RUNNING   2.3%    128MB   nginx:latest        80:8080,443:8443
โ— api-server      RUNNING   15.1%   512MB   node:18-alpine      3000:3000
โ— postgres-db     RUNNING   8.7%    256MB   postgres:15         5432:5432

2๏ธโƒฃ Images

Complete image inventory with layer inspection:

โ— node            18-alpine    1.2GB    2d ago
โ— nginx           latest       142MB    5d ago
โ— postgres        15           412MB    1w ago

3๏ธโƒฃ Volumes

Volume management with container tracking:

โ— app-data        local    nginx-proxy, api-server    2d ago
โ— postgres-vol    local    postgres-db                1w ago

4๏ธโƒฃ Networks

Network topology at a glance:

โ— bridge          bridge   172.17.0.0/16    local
โ— app-network     bridge   172.18.0.0/16    local

โŒจ๏ธ Keyboard Reference

Note: All letter keys work in both uppercase and lowercase (case-insensitive).

Navigation

Key Action
โ†‘ / k Move selection up (with auto-scroll)
โ†“ / j Move selection down (with auto-scroll)
โ† / h Previous tab
โ†’ / l Next tab
1-4 Jump directly to tab

Universal Actions

Key Action
i Inspect selected resource
D Delete selected resource
f Open filter modal
F1 Toggle help screen
ESC Return to list view
Enter Refresh / Confirm
q / Ctrl+C Quit application

Tab-Specific Actions

Key Tab Action
s Containers Start/Stop container
r Containers Restart container
c Containers Open console (altscreen)
o Containers Open port in browser
l Containers View logs
R Images Run new container

๐ŸŽฏ Use Cases

Perfect For:

  • DevOps Engineers: Quick container health checks during deployments
  • Backend Developers: Managing local development environments
  • System Administrators: Monitoring production Docker hosts
  • Students & Learners: Visual way to understand Docker concepts
  • Terminal Enthusiasts: Because GUIs are overrated ๐Ÿ˜Ž

Works Great In:

  • โœ… VSCode integrated terminal
  • โœ… iTerm2 / Alacritty / Wezterm
  • โœ… tmux panes
  • โœ… GNU Screen sessions
  • โœ… SSH sessions (local or remote Docker)
  • โœ… Windows Terminal

๐Ÿ”ง Configuration

Local Docker (default):

./tinyd

Remote Docker:

export DOCKER_HOST=tcp://remote-host:2376
./tinyd

Docker Desktop (macOS/Windows): Automatically detected!

๐Ÿ“š Documentation

Detailed guides available in the docs/ folder:

LOLcense

All rights reserved.

For {root} sake I'm a designer. Mostly all the code has been written by Claude and ad latere.

๐Ÿ™ Acknowledgments

  • Built with Charm libraries (Bubble Tea, Lipgloss)
  • Inspired by k9s, lazydocker, and other terminal tools

Made with โค๏ธ for terminal lovers everywhere

Because the best interface is no interface at all.

About

Tiny Docker Desktop TUI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages