Container Management
Dockhand provides comprehensive container lifecycle management with real-time monitoring and control.Container Operations
List & Filter
View all containers with customizable columns, sorting, and filtering. Toggle between running containers only or include stopped containers.
Lifecycle Control
Start, stop, restart, pause, unpause, and remove containers with instant feedback.
Interactive Terminal
Full terminal access to running containers:@xterm/addon-fitfor automatic resizing@xterm/addon-web-linksfor clickable URLs
Real-Time Log Streaming
Stream container logs with advanced features:- Live streaming via Server-Sent Events (SSE)
- Search and filter with regex support
- Timestamp display toggle
- Follow mode for tailing logs
- Download logs as text files
- Color-coded output preservation
Log streaming uses Docker’s logs API with the
follow=true parameter for real-time updates.File Browser
Browse and manage container filesystems:- Navigate directory structures with breadcrumbs
- Upload files and directories
- Download files from containers
- View file metadata (size, permissions, modification time)
- Bulk operations support
Container Creation
Create containers with a comprehensive UI:Basic Configuration
Image, name, hostname, network mode
Port Mappings
Expose ports with host binding
Environment Variables
Set env vars with secret masking
Volume Mounts
Bind mounts and named volumes
Network Settings
Connect to networks with aliases
Resource Limits
CPU, memory, and device constraints
Restart Policies
Always, unless-stopped, on-failure
Labels & Metadata
Add labels for organization
Auto-Updates
Schedule automatic container updates:- Cron scheduling using Croner library
- Pre-update notifications via email, webhook, or MQTT
- Update strategies: recreate or in-place
- Rollback support on failure
- Execution history tracking
Compose Stacks
Manage Docker Compose deployments with visual tools and Git integration.Stack Types
Internal Stacks
Internal Stacks
Created and edited directly in Dockhand with the visual YAML editor. Stored in
~/.dockhand/stacks/.Git Stacks
Git Stacks
Deployed from Git repositories with automatic sync on push events. Supports GitHub, GitLab, Gitea, and custom Git servers.
External Stacks
External Stacks
Detected from existing Compose deployments managed outside Dockhand. Read-only monitoring.
Stack Operations
Full Compose lifecycle management:- Real-time deployment progress via SSE
- Service-level control (start/stop individual services)
- Container health monitoring across services
- Stack status aggregation (running, partial, stopped)
Visual Compose Editor
Powerful YAML editor with CodeMirror:- Syntax highlighting with
@codemirror/lang-yaml - Auto-completion for Compose schema
- Error detection with inline diagnostics
- Search and replace with regex support
- Theme support (light/dark mode)
- Line numbers and folding
Git Integration
Deploy stacks from Git repositories:
Webhook Endpoint:
POST /api/git/webhooks/{repositoryId}
Supported webhook formats:
- GitHub push events
- GitLab push events
- Generic webhooks with commit info
Environment Variables
Manage stack environment variables:- Per-stack configuration stored in database
- Secret masking in UI for sensitive values
- Override Compose defaults at deployment
- Encrypted storage using AES-256-GCM
Stack Dependency Graphs
Visualize service dependencies with Cytoscape.js:- Network connections between services
- Volume sharing relationships
- Depends_on declarations
- Interactive node exploration
Image Management
Comprehensive Docker image operations and security scanning.Image Operations
Pull Images
Pull from registries with progress tracking
Tag & Push
Tag images and push to registries
Remove Images
Delete unused images with force option
Inspect
View detailed image metadata and layers
Image Scanning
Vulnerability scanning with Trivy and Grype:- On-demand scanning with progress tracking
- Scheduled scans via cron jobs
- CVE database with CVSS scores
- Export results as JSON or CSV
- Scan history tracking
Scanners run as temporary containers and are automatically cleaned up after completion.
Registry Integration
Manage private Docker registries:- Add multiple registries with authentication
- Default registry selection
- Test connection before saving
- Encrypted credential storage
Volume Management
Manage Docker volumes with usage tracking and browsing.Volume Operations
- Create volumes with custom drivers and options
- Delete volumes with safety confirmation
- Clone volumes to create backups
- Inspect volumes for detailed metadata
- Export volumes as tar archives
- Usage tracking shows which containers use each volume
Volume Browser
Browse volume contents using temporary containers:Network Management
Manage Docker networks with container connectivity.Network Operations
Network Inspection
Detailed network information:- Driver and scope
- IPAM configuration
- Connected containers with IP addresses
- Network options and labels
Dashboard & Monitoring
Real-time overview of Docker environments.Environment Tiles
Each environment displays:- Resource counts: Containers, images, volumes, networks, stacks
- Container states: Running, stopped, paused, unhealthy
- Disk usage: Images, containers, volumes, build cache
- Top containers: By CPU and memory usage
- Recent events: Container lifecycle events
- Connection status: Online/offline indicator
Metrics Collection
Optional real-time metrics using Go collector:- CPU percentage per container
- Memory usage (with cache separation)
- Network RX/TX bytes
- Block I/O read/write
Metrics collection can be disabled per environment to reduce overhead.
Activity Tracking
Comprehensive event logging:- Container lifecycle events (start, stop, die, restart)
- Image events (pull, push, delete, tag)
- Volume events (create, mount, unmount, remove)
- Network events (create, connect, disconnect, remove)
- Stack events (deploy, start, stop, remove)
Settings & Configuration
Extensive configuration options for customization.Environment Settings
Configure Docker hosts:Authentication Settings
Local Users
Local Users
Create users with email and password. Passwords hashed with Argon2id (memory-hard, timing-attack resistant).
OIDC/SSO
OIDC/SSO
Configure OpenID Connect providers (Keycloak, Auth0, Okta, etc.) with client ID, secret, and discovery URL.
LDAP
LDAP
Integrate with Active Directory or OpenLDAP. Supports user DN patterns, group filters, and TLS.
MFA
MFA
Enable TOTP-based MFA with QR code setup. Uses OTPAuth library with 6-digit codes and 30-second window.
Notification Settings
Configure notifications for events:- Email: SMTP with TLS support (using nodemailer)
- Webhook: HTTP POST with custom headers
- MQTT: Publish to topics with QoS support
- Container state changes
- Health check failures
- Stack deployment results
- Image scan findings
- Scheduled task execution
Preferences
User-level customization:- Theme: Light, dark, or system
- Grid columns: Show/hide columns per view
- Dashboard layout: Drag-and-drop tile arrangement
- Date format: Locale-specific formatting
- Refresh intervals: Auto-refresh timing
Audit Logging
Comprehensive audit trail for compliance.Logged Events
All user actions are logged:Audit Categories
- Containers: Start, stop, create, delete, update
- Images: Pull, push, tag, remove
- Volumes: Create, remove, clone
- Networks: Create, connect, disconnect, remove
- Stacks: Deploy, start, stop, remove
- Settings: Configuration changes
- Users: Login, logout, create, delete, role changes
- Environments: Add, update, delete
Audit logs are stored in the database and can be exported for external SIEM integration.
Scheduling
Automate tasks with cron-based scheduling using Croner library.Scheduled Tasks
- Container updates: Automatic pull and recreate
- Image scans: Regular vulnerability scanning
- Stack updates: Git sync and redeploy
- Pruning: Clean up unused resources
- Backups: Volume exports
Schedule Management
- Human-readable cron descriptions (using cronstrue)
- Execution history with success/failure tracking
- Manual trigger option
- Notification on completion
