π Terminal User Interface (TUI)
The Servin Terminal User Interface provides a simple, menu-driven experience for container management directly in your terminal. Perfect for server environments, SSH sessions, and users who prefer command-line workflows.
π Getting Started
Launching the TUI
# Start the terminal interface
servin-desktop
# Alternative command
servin desktop
Navigation
- Number Keys - Select menu options
- Enter - Confirm selection
- Type responses - When prompted for input
π₯οΈ Interface Overview
Main Menu
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Servin Desktop β
β Container Runtime Management β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββ Main Menu βββββββββββββββββββββ
β 1. Container Management β
β 2. Image Management β
β 3. CRI Server Control β
β 4. Volume Management β
β 5. Registry Operations β
β 6. System Information β
β 7. Exit β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Select an option:
π¦ Container Management
Container Operations Menu
ββββββββββββββββ Container Management βββββββββββββββ
β 1. List Containers β
β 2. Run New Container β
β 3. Start Container β
β 4. Stop Container β
β 5. Remove Container β
β 6. View Container Logs β
β 7. Execute Command in Container β
β 8. Back to Main Menu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Operations
- List Containers: Display all containers with status
- Run New Container: Create and start a new container
- Start Container: Start a stopped container by ID/name
- Stop Container: Stop a running container
- Remove Container: Delete a container
- View Logs: Show container output logs
- Execute Command: Run commands inside containers
πΌοΈ Image Management
Image Operations Menu
βββββββββββββββββ Image Management ββββββββββββββββββ
β 1. List Images β
β 2. Import Image β
β 3. Remove Image β
β 4. Tag Image β
β 5. Inspect Image β
β 6. Build Image β
β 7. Back to Main Menu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Operations
- List Images: Show all available images
- Import Image: Import images from tar files
- Remove Image: Delete unused images
- Tag Image: Add tags to existing images
- Inspect Image: View detailed image information
- Build Image: Build images from Dockerfile
π CRI Server Control
CRI Server Menu
βββββββββββββββββββ CRI Server ββββββββββββββββββββββ
β 1. Start CRI Server β
β 2. Check CRI Server Status β
β 3. Test CRI Connection β
β 4. View CRI Endpoints β
β 5. Back to Main Menu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Operations
- Start CRI Server: Launch Kubernetes CRI server
- Check Status: Verify CRI server status
- Test Connection: Test CRI connectivity
- View Endpoints: Show available CRI API endpoints
πΎ Volume Management
Volume Operations Menu
ββββββββββββββββ Volume Management ββββββββββββββββββ
β 1. List Volumes β
β 2. Create Volume β
β 3. Remove Volume β
β 4. Inspect Volume β
β 5. Remove All Volumes β
β 6. Back to Main Menu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Operations
- List Volumes: Display all created volumes
- Create Volume: Create new storage volumes
- Remove Volume: Delete specific volumes
- Inspect Volume: View volume details
- Remove All: Clean up all volumes
π‘ Registry Operations
Registry Menu
βββββββββββββββ Registry Operations βββββββββββββββββ
β 1. Start Local Registry β
β 2. Stop Local Registry β
β 3. Push Image to Registry β
β 4. Pull Image from Registry β
β 5. List Registries β
β 6. Back to Main Menu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Operations
- Start Registry: Launch local registry server
- Stop Registry: Shutdown registry server
- Push Image: Upload images to registry
- Pull Image: Download images from registry
- List Registries: Show configured registries
π System Information
System Overview
βββββββββββββββββ System Information ββββββββββββββββ
β Servin Runtime Information: β
β Version: 1.0.0 β
β Platform: Linux/Windows/macOS β
β Time: 2025-09-16 15:04:05 β
β β
β Container Statistics: β
β Running: 5 Stopped: 3 Total: 8 β
β β
β Image Statistics: β
β Local Images: 12 Total Size: 2.4GB β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π§ Usage Examples
Starting a Container
- Select 1 (Container Management)
- Select 2 (Run New Container)
- Enter image name:
nginx - Enter container name:
web-server - Enter command: (optional)
Viewing Logs
- Go to Container Management
- Select 6 (View Container Logs)
- Enter container ID or name
- Logs will be displayed
Managing Images
- Select 2 (Image Management)
- Select 1 (List Images) to see available images
- Use other options to manage images
βοΈ Technical Features
Simple Navigation
- Menu-driven interface: Easy number-based selection
- Back navigation: Return to previous menus
- Input prompts: Clear instructions for user input
- Error handling: Helpful error messages
Command Integration
- Direct CLI integration: Uses
servinCLI commands - Real-time output: Shows command results immediately
- Platform support: Works on Windows, Linux, and macOS
User Experience
- ASCII art headers: Professional appearance
- Consistent formatting: Clean, readable menus
- Interactive prompts: Clear input requests
- Status feedback: Command execution results β πΎ Memory: 128MB/512MB (25%) β β π½ Disk I/O: 1.2MB read, 850KB write β β π Network I/O: 15MB in, 25MB out β β β β Environment Variables: β β π§ NODE_ENV=production β β π§ PORT=3000 β β π§ DATABASE_URL=mysql://db:3306/app β β β β Volumes: β β πΎ /var/www/html β /app/public (ro) β β πΎ app-logs β /var/log/nginx β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β [Logs] [Exec] [Files] [Stats] [Edit] [Actions] β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ```
Container Actions Menu
- π Lifecycle
- βΆοΈ Start - Start stopped container
- βΉοΈ Stop - Gracefully stop running container
- π Restart - Restart container
- βΈοΈ Pause - Pause container execution
- βΆοΈ Unpause - Resume paused container
- π Kill - Force stop container
- π Monitoring
- π View Logs - Real-time log streaming
- π Live Stats - CPU, memory, network usage
- π Inspect - Detailed configuration view
- π Processes - Running processes inside container
- π§ Management
- π» Execute Shell - Interactive shell access
- π Browse Files - Container filesystem explorer
- π·οΈ Rename - Change container name
- π Edit Config - Modify container settings
- ποΈ Remove - Delete container
πΌοΈ Image Management
Image List View
βββββββββββββββββββββ Images ββββββββββββββββββββββ
β Search: [ubuntu______] π Sort: [Name_________] β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Repository β Tag β Size β Created β
βββββββββββββββββββββΌββββββββββΌβββββββββΌβββββββββββ€
β nginx β latest β 142MB β 2 days β
β nginx β 1.21 β 140MB β 1 week β
β ubuntu β latest β 72MB β 3 days β
β ubuntu β 20.04 β 72MB β 1 week β
β node β 16 β 908MB β 5 days β
β mysql β 8.0 β 516MB β 1 week β
β alpine β latest β 5MB β 6 days β
β π¦ <none> β <none> β 1.2GB β 2 weeks β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β/β: Navigate | Enter: Details | Space: Select β
β p: Pull | b: Build | t: Tag | h: Push | d: Del β
β r: Run | s: Save | l: Load | i: Inspect β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
Image Details Panel
ββββββββββββββββ Image Details: nginx:latest βββββββββββββββ
β β
β Basic Information: β
β π ID: sha256:a1b2c3... β
β π·οΈ Repository: nginx β
β π Tag: latest β
β π¦ Size: 142MB (Virtual: 142MB) β
β π
Created: 2 days ago β
β π€ Author: NGINX Docker Maintainers β
β β
β Configuration: β
β πͺ Exposed Ports: 80/tcp β
β π» Default CMD: ["nginx", "-g", "daemon off;"] β
β π Working Dir: / β
β π€ User: root β
β π§ Env: PATH=/usr/local/sbin:/usr/local/bin... β
β β
β Layer Information: β
β π Layers: 6 β
β π Parent: sha256:b1c2d3... β
β π Architecture: amd64 β
β π₯οΈ OS: linux β
β β
β Labels: β
β π·οΈ maintainer=NGINX Docker Maintainers β
β π·οΈ org.opencontainers.image.version=1.21.6 β
β β
β Usage: β
β π¦ Used by: 3 containers β
β π Children: 2 images β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β [History] [Layers] [Run] [Tag] [Push] [Export] [Delete] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Image Actions
- π₯ Registry Operations
- π€ Pull - Download image from registry
- π¦ Push - Upload image to registry
- π Search - Search registry for images
- π Login - Authenticate with registry
- π¨ Build Operations
- ποΈ Build - Build image from Dockerfile
- π·οΈ Tag - Add tags to image
- πΎ Save - Export image to tar file
- π Load - Import image from tar file
- π Container Operations
- βΆοΈ Run - Create and start container
- π§ Create - Create container without starting
- π Inspect - View detailed image information
- π History - View image layer history
πΎ Volume Management
Volume List View
ββββββββββββββββββββ Volumes βββββββββββββββββββββββ
β Search: [data_______] π Filter: [All_________] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Name β Driver β Size β Mount Point β
ββββββββββββββββββΌβββββββββΌββββββββββΌβββββββββββββββ€
β app-data β local β 2.1GB β /var/lib/... β
β db-storage β local β 890MB β /var/lib/... β
β logs-volume β local β 156MB β /var/lib/... β
β config-files β local β 12MB β /var/lib/... β
β π shared-nfs β nfs β 15GB β server:/data β
β π¦ temp-cache β local β 500MB β /var/lib/... β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β/β: Navigate | Enter: Details | Space: Select β
β c: Create | d: Delete | p: Prune | b: Backup β
β m: Mount | u: Unmount | i: Inspect β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
Volume Actions
- π¦ Lifecycle
- π Create - Create new volume
- ποΈ Delete - Remove volume
- π§Ή Prune - Remove unused volumes
- π Inspect - View volume details
- π Operations
- π Browse - Explore volume contents
- πΎ Backup - Create volume backup
- π₯ Restore - Restore from backup
- π Usage - Show space usage
π Network Management
Network List View
ββββββββββββββββββββ Networks ββββββββββββββββββββββ
β Search: [bridge____] π Filter: [All__________] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Name β Driver β Scope β Connected β Subnet β
βββββββββββββββΌβββββββββΌββββββββΌββββββββββββΌβββββββββ€
β bridge β bridge β local β 3 β 172... β
β host β host β local β 0 β - β
β none β null β local β 0 β - β
β web-net β bridge β local β 2 β 192... β
β api-network β bridge β local β 4 β 10.... β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β/β: Navigate | Enter: Details | Space: Select β
β c: Create | d: Delete | p: Prune | o: Connect β
β x: Disconnect | i: Inspect β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
π System Information
System Overview
ββββββββββββββββββββ System Status βββββββββββββββββββββ
β β
β Runtime Information: β
β π Version: Servin 1.0.0 β
β ποΈ Build: go1.24.0 linux/amd64 β
β π
Started: 2024-01-15 10:30:15 (uptime: 2h 45m) β
β π CRI Server: Active on port 10010 β
β π‘ API Server: Active on unix socket β
β β
β Resource Summary: β
β π¦ Containers: 12 total (8 running, 3 stopped, 1 paused) β
β πΌοΈ Images: 25 total (15 in use, 10 unused) β
β πΎ Volumes: 8 total (6 mounted, 2 unmounted) β
β π Networks: 5 total (3 active, 2 inactive) β
β β
β Storage Usage: β
β π Images: 4.2GB β
β π¦ Containers: 1.8GB β
β πΎ Volumes: 3.5GB β
β ποΈ Build Cache: 890MB β
β π Total: 10.39GB β
β β
β Performance Metrics: β
β π CPU Usage: 15% (4 cores available) β
β πΎ Memory Usage: 2.1GB/8GB (26%) β
β π½ Disk I/O: 125MB/s read, 89MB/s write β
β π Network I/O: 45MB/s in, 32MB/s out β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β [Events] [Logs] [Config] [Cleanup] [Export] [Quit] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Event Monitor
ββββββββββββββββββββ Live Events ββββββββββββββββββββββββ
β π’ 2024-01-15 13:45:23 container web-server started β
β π‘ 2024-01-15 13:44:58 image nginx:latest pulled β
β π΄ 2024-01-15 13:44:12 container old-app stopped β
β π’ 2024-01-15 13:43:45 volume data-vol created β
β π‘ 2024-01-15 13:43:20 network api-net connected β
β π’ 2024-01-15 13:42:55 container db-server started β
β π΄ 2024-01-15 13:42:30 container temp-job exited(0) β
β π‘ 2024-01-15 13:42:05 image ubuntu:latest built β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β/β: Scroll | f: Filter | c: Clear | s: Save | q: Quit β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β¨οΈ Keyboard Shortcuts
Global Navigation
- Tab - Next panel/field
- Shift+Tab - Previous panel/field
- Ctrl+C - Cancel current operation
- Escape - Go back/cancel
- q - Quit application
- ? - Show context help
- / - Search/filter current view
List Navigation
- β/β - Move selection up/down
- Page Up/Down - Scroll page up/down
- Home/End - Go to first/last item
- Enter - Select item or open details
- Space - Toggle selection (multi-select)
Container Management
- s - Start selected container
- t - Stop selected container
- r - Restart selected container
- p - Pause selected container
- k - Kill selected container
- d - Delete selected container
- l - View logs
- e - Execute shell
- i - Inspect details
Image Management
- p - Pull image from registry
- b - Build image from Dockerfile
- t - Tag image
- h - Push image to registry
- r - Run container from image
- d - Delete image
- s - Save image to file
- l - Load image from file
System Operations
- F5 - Refresh current view
- Ctrl+R - Reload all data
- Ctrl+L - Clear screen
- Ctrl+S - Save current view to file
- Ctrl+E - Export system information
π¨ Customization
Theme Options
The TUI supports multiple color schemes:
- Default - Standard terminal colors
- Dark - Dark theme with high contrast
- Light - Light theme for bright terminals
- Monochrome - Black and white for compatibility
- Custom - User-defined color scheme
Configuration
# Set default theme
servin config set tui.theme dark
# Enable mouse support
servin config set tui.mouse true
# Set refresh interval
servin config set tui.refresh 2s
# Configure log tail lines
servin config set tui.logs.tail 100
# Set default container shell
servin config set tui.shell /bin/bash
Layout Customization
- Panel Arrangement - Customize panel layout
- Column Visibility - Show/hide specific columns
- Sort Options - Default sorting preferences
- Filter Presets - Save commonly used filters
- Hotkey Remapping - Customize keyboard shortcuts
π§ Advanced Features
Bulk Operations
- Multi-Selection - Use Space to select multiple items
- Bulk Actions - Apply operations to selected items
- Confirmation Dialogs - Safety prompts for destructive actions
- Progress Indicators - Visual feedback for long operations
Search and Filtering
- Real-time Search - Filter as you type
- Advanced Filters - Status, labels, dates
- Regular Expressions - Pattern-based filtering
- Saved Searches - Store frequently used filters
Integration Features
- Shell Integration - Launch external commands
- File Manager - Browse container filesystems
- Log Streaming - Real-time log following
- Statistics Charts - ASCII-based performance graphs
π Next Steps
- Desktop GUI - Explore the visual desktop interface
- CLI Reference - Learn command-line operations
- Configuration - Customize your setup
- API Integration - Programmatic access
π‘ TUI Pro Tips
- Mouse Support: Enable mouse support with
servin config set tui.mouse true - SSH Sessions: TUI works perfectly over SSH for remote management
- Screen/Tmux: Run TUI in screen or tmux for persistent sessions
- Context Help: Press
?in any view for context-specific help - Log Monitoring: Use the log viewer for real-time container debugging