This project aims to create a lightweight Docker Desktop alternative using Tauri (Rust + React). The application will provide a modern, clean UI for managing Docker containers and images with essential functionality.
- Backend: Rust with Tauri and Bollard (Docker API client for Rust)
- Frontend: React with TypeScript
- UI: Tailwind CSS with shadcn/ui components
- Animations: motion/react (framer-motion)
- Icons: lucide-react
- State Management:
- Backend: Tauri state management with Mutex
- Frontend: React Context API / Zustand (future)
- Project setup and configuration
- UI framework setup (Tailwind CSS)
- Docker connection and authentication
- Container management
- List containers
- Start/stop containers
- Remove containers
- Image management
- List images
- Pull images
- Remove images
- Container logs
- View logs
- Follow logs in real-time
- UI Improvements
- Vertical sidebar navigation
- Dashboard with overview statistics
- Consistent styling with shadcn/ui components
- Responsive design
- Smooth animations and transitions
- Collapsible sidebar
- Backend Improvements
- Docker client state management with Tauri state
- Docker status monitoring
- Error handling and recovery
- Real-time Updates
- Replace polling with Docker event system
- Container details
- View container stats (CPU, memory, network)
- View container configuration
- Docker Compose Integration
- Group containers by Compose project
- Expand/collapse container groups
- Visual distinction for Compose containers
- Container List Enhancements
- Status indicators (colored dots)
- Container ID display
- Port mapping information
- Human-readable status with started time
- Clickable rows for container details
- Relative time formatting
- Container creation
- Basic container creation form
- Environment variables configuration
- Port mapping
- Volume mounting
- Docker Compose support
- List Compose projects
- Start/stop Compose projects
- View Compose logs
- Image building
- Build images from Dockerfile
- Tag and push images
- Network management
- List networks
- Create/remove networks
- Volume management
- List volumes
- Create/remove volumes
- Settings and preferences
- Dark/light theme
- Resource usage dashboard
- Notifications for container events
- Export/import container configurations
- Current Phase: Phase 2 - Enhanced Features
- Completed Features:
- Project setup
- UI framework setup
- Docker connection
- Container listing, starting, stopping, and removal
- Image listing, pulling, and removal
- Container logs with auto-refresh
- Modern UI with vertical sidebar, dashboard, and animations
- Collapsible sidebar
- Docker client state management with Tauri state
- Dark/light theme toggle with system preference support
- Settings drawer with organized sections
- Real-time updates with Docker events
- Container details with stats and configuration
- Docker Compose container grouping
- Enhanced container list with additional information
- In Progress: Container creation
- Next Up: Docker Compose support
- Focus on one feature at a time
- Get user approval before moving to the next feature
- Maintain clean, modern UI design
- Ensure proper error handling
- Write clear documentation