1 unstable release
new 0.1.1 | Feb 22, 2025 |
---|
#321 in Development tools
26KB
559 lines
Cetacea 🐋
A sleek, terminal-based Docker container monitoring tool with a beautiful TUI interface. Monitor your Docker containers in real-time with an intuitive, responsive interface.
Features
- Real-time Monitoring: Live updates of container status every second
- Beautiful TUI: Clean, responsive terminal user interface using ratatui
- Container Information:
- Container name and ID
- Image details
- Running state and health status
- Port mappings
- Creation time and uptime
- Command information
- Smart Layout: Automatically adjusts to terminal size with responsive grid layout
- Color Coding:
- Green: Running and healthy containers
- Yellow: Running containers with uncertain health
- Red: Stopped containers or unhealthy state
- Cross-platform: Supports both Linux (Unix socket) and Windows (HTTP) connections
Installation
cargo install cetacea
Usage
Simply run:
cetacea
Controls
q
: Quit the application- Terminal resize: UI automatically adjusts
Development
Prerequisites
- Rust (latest stable)
- Docker daemon running
- Cargo and standard Rust toolchain
Building from Source
git clone https://github.com/rakki194/cetacea
cd cetacea
cargo build --release
Running Tests
cargo test
Note: Some tests require a running Docker daemon to pass.
Architecture
- Docker Client: Asynchronous communication with Docker daemon using hyper
- TUI Layer: Built with ratatui for responsive terminal rendering
- Update Thread: Background thread for real-time container status updates
- Error Handling: Comprehensive error types using thiserror
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Dependencies
~12–23MB
~348K SLoC