DPRS (Docker PRocesS Manager) offers a terminal user interface for managing Docker containers and monitoring their logs. We built DPRS to address common developer frustrations, focusing on reliability and usability for day-to-day software development workflows.
While Docker is an indispensable tool for modern development, managing containers and their logs through the command line can often feel cumbersome. DPRS aims to streamline these interactions, providing a focused environment for developers. Our design prioritizes features relevant to software development, rather than comprehensive sysadmin or DevOps tasks. This means we emphasize quick access to logs, easy container control, and a clear overview of your local development environment.

Features
DPRS provides a focused set of features designed to streamline the most common Docker container management and monitoring tasks for developers. These capabilities aim to reduce friction and enhance productivity during the development cycle.
Container Management
- List running containers with comprehensive details (name, image, status, IP, ports), offering a clear overview of your active development environment.
- Stop containers with a single keystroke, providing quick control over your services.
- Copy container IP addresses to the clipboard for easy access and integration with other tools.
- Open container web interfaces directly in your browser, accelerating access to web-based services.
- Real-time container list refresh ensures you always have an up-to-date view of your Docker processes.
Log Monitoring
- Real-time log streaming from multiple containers, allowing you to observe application behavior as it happens.
- Streamlined navigation between container logs, enabling quick shifts in focus across your services.
- Color-coded log levels (Info, Warning, Error, Debug) enhance readability and help in quickly identifying critical messages.
- Scroll through log history to review past events and debug issues.
- Automatic log rotation helps manage memory usage, ensuring the log watcher remains performant even with verbose applications.
These features collectively aim to provide a robust yet unobtrusive tool for daily Docker-centric development.
Installation
cargo install dprs
Usage
DPRS offers two primary binaries, each designed for a specific aspect of Docker container management during development. We will walk through how to use each.
dprs - The Container Manager
To launch the main container manager, simply run:
dprs
Upon launch, you will see a real-time list of your running Docker containers, displaying essential details such as name, image, status, IP address, and exposed ports. Navigating this list is straightforward; you can use the arrow keys or j/k to move between containers.
Here are the key commands you can use within dprs:
q: Quit the application. This allows you to exit cleanly when your container management tasks are complete.c: Copy the selected container’s IP address to your clipboard. This is particularly useful when you need to quickly access a service running inside a container from your host machine.l: Open the container’s exposed web interface in your default browser. For containers running web services, this provides immediate access without manually constructing URLs.x: Stop the selected container. This is a quick way to halt a misbehaving or no-longer-needed development container.r: Refresh the container list. While DPRS updates in real-time, this command ensures you have the absolute latest state, especially after external Docker operations.
dplw - The Log Watcher
For real-time monitoring of container logs, use the log watcher binary:
dplw
This tool allows you to watch logs from multiple containers simultaneously, with color-coded log levels (Info, Warning, Error, Debug) for enhanced readability. This is invaluable for debugging and understanding the runtime behavior of your applications.
Key commands for dplw:
- Left/Right arrows: Switch between the logs of different containers. This enables you to quickly pivot your focus between various services in your application stack.
- Up/Down arrows: Scroll through the log history of the currently selected container. This is useful for reviewing past events or error messages.
- Home/End: Jump to the very start or end of the logs, respectively. This helps in quickly assessing the overall log volume or finding the latest entries.
r: Refresh the container list. Similar todprs, this ensures you are watching logs from the most current set of running containers.q: Quit the log watcher. This exits the application when you are done monitoring logs.
Philosophy
DPRS is built upon a set of core principles that guide its development and design, ensuring it remains a valuable tool for developers:
Reliability: We strive for stable, well-tested code that handles the complexities and edge cases of Docker interactions gracefully. For developers, this means a tool they can depend on, reducing unexpected crashes or erroneous behavior during critical development tasks.
Usability: The interface is designed to be intuitive, providing clear feedback for every action. Our goal is to minimize the learning curve and cognitive load, allowing developers to focus on their work rather than wrestling with the tool.
Efficiency: DPRS aims for fast operation with minimal resource usage. In a development environment where multiple tools and containers are often running concurrently, an efficient TUI ensures it enhances, rather than hinders, overall system performance.
Pragmatism: Our focus is squarely on solving the real, day-to-day container management needs of software developers. We prioritize features that directly address common pain points and streamline workflows, avoiding unnecessary complexity or features outside this core mission.
Development
For those interested in contributing to DPRS or building it from source, this section outlines the necessary steps and project structure.
Requirements
- Rust 2024 edition
- Docker daemon running locally
Note: Ensuring your Docker daemon is actively running is crucial for DPRS to function correctly, as it directly interacts with Docker’s API.
Building
To build DPRS in release mode, use the following command:
cargo build --release
Testing
To run the project’s test suite, execute:
cargo test
Project Structure
The DPRS codebase is organized into several key modules:
src/app/: Manages the application’s core state and handles various user actions.src/display/: Responsible for rendering the user interface components to the terminal.src/docker_log_watcher/: Contains the logic for monitoring and fetching logs from Docker containers.src/log_view/: Handles the display and navigation within the log viewing interface.
Contributing
Contributions are welcome! Please read our contributing guidelines and code of conduct before submitting pull requests.
License
MIT.
Copyright (c) 2025 Durable Programming, LLC. All rights reserved.
Support
For bugs, feature requests, or questions, please open an issue on GitHub.
Acknowledgments
DPRS stands on the shoulders of excellent open-source projects and the vibrant communities that maintain them. We are grateful for their contributions, which make tools like DPRS possible.
Built with:
- ratatui - A robust Rust library for building rich terminal user interfaces. Its flexibility and performance are central to DPRS’s interactive experience.
- crossterm - Provides cross-platform terminal manipulation, enabling DPRS to offer a consistent experience across different operating systems.
- clipboard - Facilitates seamless clipboard integration, allowing for quick copying of container IP addresses.
- tailspin - Powers the intelligent, color-coded log highlighting, significantly improving log readability.
We extend special thanks to the Docker and Rust communities for their continuous innovation, excellent tools, and comprehensive documentation. Their work is an invaluable resource for developers worldwide.
Note: The open-source ecosystem thrives on contributions. If you find these tools valuable, consider supporting their development through contributions, documentation, or community engagement.
GitHub
⭐ 16 stars | 📅 Created April 2025 | 🔄 Updated September 2025

