Skip to content

๐Ÿฆ† Beautiful Docker management TUI in Rust with real-time logs, shell access & monitoring

Notifications You must be signed in to change notification settings

Xczer/docsee-tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆ† Docsee - Docker Management TUI

โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•”โ•โ•โ•
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ•šโ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•
            ๐Ÿฆ† Docker Management TUI

A beautiful, feature-rich Docker management terminal user interface built with Rust and Ratatui. Manage Docker containers, images, volumes, and networks with an intuitive interface featuring real-time logging, shell access, and resource monitoring.

CI Release License: MIT

๐Ÿ“ธ Screenshots

Docsee Container Management Container management with real-time status indicators

Docsee Logs Viewer Real-time log streaming with filtering

Docsee Shell Access Interactive shell access within containers

โœจ Features

๐Ÿ  Core Management

  • Container Management: Start, stop, restart, delete containers with visual status indicators
  • Image Management: View, delete, and prune Docker images with detailed information
  • Volume Management: Manage Docker volumes with usage tracking
  • Network Management: Handle Docker networks with connection details

๐Ÿš€ Advanced Features

  • Real-time Logs: Stream container logs with timestamps, word wrap, and filtering
  • Shell Access: Execute commands in containers with full terminal support
  • Resource Monitoring: Live CPU, memory, network, and disk usage statistics
  • Advanced Search: Powerful filtering and search across all Docker resources
  • Intuitive Navigation: Keyboard-driven interface with helpful shortcuts

๐ŸŽจ User Experience

  • Beautiful Interface: ASCII art and clean visual design
  • Responsive Design: Adapts to different terminal sizes
  • Status Feedback: Clear visual indicators for all operations
  • Help System: Comprehensive keyboard shortcuts guide
  • Multi-platform: Works on Linux, macOS, and Windows

๐Ÿš€ Installation

๐Ÿ“ฆ Pre-built Binaries

Download the latest release for your platform:

# Linux x86_64
curl -L https://github.com/Xczer/docsee-tui/releases/latest/download/docsee-linux-x86_64 -o docsee
chmod +x docsee

# Linux ARM64
curl -L https://github.com/Xczer/docsee-tui/releases/latest/download/docsee-linux-aarch64 -o docsee
chmod +x docsee

# macOS Intel
curl -L https://github.com/Xczer/docsee-tui/releases/latest/download/docsee-macos-x86_64 -o docsee
chmod +x docsee

# macOS Apple Silicon
curl -L https://github.com/Xczer/docsee-tui/releases/latest/download/docsee-macos-aarch64 -o docsee
chmod +x docsee

# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/Xczer/docsee-tui/releases/latest/download/docsee-windows-x86_64.exe" -OutFile "docsee.exe"

๐Ÿฆ€ From Crates.io

cargo install docsee

๐Ÿ”จ From Source

# Clone and build
git clone https://github.com/Xczer/docsee-tui.git
cd docsee-tui
cargo build --release

# Install globally
cargo install --path .

๐Ÿง Package Managers

# Homebrew (macOS/Linux)
brew install docsee

# Arch Linux (AUR)
yay -S docsee

# Ubuntu/Debian (coming soon)
# apt install docsee

๐ŸŽฎ Quick Start

Prerequisites

  • Docker installed and running
  • Terminal with color support
  • Minimum terminal size: 80x24

Basic Usage

# Start with default Docker socket
docsee

# Connect to remote Docker host
docsee --docker-host tcp://remote-host:2375

# Connect via SSH
docsee --docker-host ssh://user@remote-host

๐Ÿ“‹ Keyboard Shortcuts

Global Navigation

Key Action
โ†/โ†’ Switch tabs
โ†‘/โ†“ Navigate lists
Enter Select item
Esc Go back
q Quit
c Help/cheatsheet

Container Management

Key Action
u Start container
d Stop container
r Restart container
D Delete container
l View logs
e Shell access
s Resource stats
/ Search/filter

Logs Viewer

Key Action
f Toggle follow mode
t Toggle timestamps
w Toggle word wrap
c Clear logs
+/- Scroll speed
PgUp/PgDn Page navigation

Shell Access

Key Action
F1 Toggle input mode
Tab Switch shell type
โ†‘/โ†“ Command history
Ctrl+C Clear input
Ctrl+L Clear output

๐Ÿ”ง Configuration

Docker Connection

Docsee supports various Docker connection methods:

# Unix socket (default)
docsee --docker-host unix:///var/run/docker.sock

# TCP connection
docsee --docker-host tcp://localhost:2375

# TLS connection
docsee --docker-host tcp://localhost:2376

# SSH connection
docsee --docker-host ssh://user@host

Environment Variables

# Set default Docker host
export DOCKER_HOST=tcp://localhost:2375

# Enable Docker TLS
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/path/to/certs

๐Ÿ—๏ธ Architecture

Docsee is built with modern Rust practices:

  • Async/Await: Non-blocking Docker API operations
  • TUI Framework: Ratatui for terminal interface
  • Event-driven: Responsive keyboard and timer events
  • Modular Design: Separated concerns for maintainability
  • Error Handling: Comprehensive error management
  • Cross-platform: Works on all major operating systems

Project Structure

src/
โ”œโ”€โ”€ app.rs              # Main application logic
โ”œโ”€โ”€ docker/             # Docker API client and operations
โ”œโ”€โ”€ events/             # Event handling system
โ”œโ”€โ”€ ui/                 # User interface components
โ””โ”€โ”€ widgets/            # Reusable UI components

๐Ÿงช Development

Building from Source

# Clone repository
git clone https://github.com/Xczer/docsee-tui.git
cd docsee-tui

# Build debug version
cargo build

# Build release version
cargo build --release

# Run tests
cargo test

# Run with cargo
cargo run -- --docker-host unix:///var/run/docker.sock

Code Quality

# Format code
cargo fmt

# Lint code
cargo clippy

# Check for security vulnerabilities
cargo audit

๐Ÿค Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Guidelines

  • Follow Rust best practices and idioms
  • Add tests for new features
  • Update documentation as needed
  • Ensure code passes cargo clippy and cargo fmt
  • Write clear commit messages

๐Ÿ› Troubleshooting

Common Issues

Connection Error

# Check if Docker is running
docker info

# Verify Docker socket permissions
ls -la /var/run/docker.sock

# Try with sudo (not recommended for production)
sudo docsee

Terminal Display Issues

# Ensure terminal supports colors
echo $TERM

# Try with explicit terminal type
TERM=xterm-256color docsee

# Check terminal size
echo $COLUMNS x $LINES

Performance Issues

# Run with reduced update frequency
docsee --refresh-rate 2000  # 2 second intervals

Getting Help

๐Ÿ“Š Roadmap

Current Version (v1.0)

  • โœ… Container management
  • โœ… Real-time logs
  • โœ… Shell access
  • โœ… Resource monitoring
  • โœ… Advanced search

Future Versions

  • ๐Ÿ”„ Docker Compose support
  • ๐Ÿ”„ Image building interface
  • ๐Ÿ”„ Registry integration
  • ๐Ÿ”„ Themes and customization
  • ๐Ÿ”„ Plugin system

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐ŸŒŸ Acknowledgments

  • Ratatui - Excellent TUI framework for Rust
  • Bollard - Docker API client for Rust
  • Tokio - Async runtime for Rust
  • k9s - Inspiration for Kubernetes TUI design

๐Ÿ’ Support

If you find Docsee useful, please consider:

  • โญ Starring the repository
  • ๐Ÿ› Reporting bugs and issues
  • ๐Ÿ’ก Suggesting new features
  • ๐Ÿ”„ Contributing code improvements
  • ๐Ÿ“ข Sharing with others

Happy Docker Management! ๐Ÿฆ†

Built with โค๏ธ in Rust