A Terminal User Interface (TUI) for Docker management built with Textual
Project description
Dockie - Docker TUI
A Terminal User Interface (TUI) for Docker management built with Textual.
Features
✅ Containers Management
- View all containers: Shows running and stopped containers in a clean table format
- Real-time status: Color-coded status indicators (green for running, red for exited, yellow for other states)
- Container uptime: Shows how long running containers have been up (e.g., "2d 14h 30m")
- Fuzzy search: Filter containers by name, image, or status with intelligent fuzzy matching
- Container operations:
- Restart containers
- Full-screen live log viewer: View container logs using native Docker commands with real-time tailing
- Refresh container list
- Advanced log viewer:
- Native Docker integration: Uses
docker logs -ffor real-time log following - Full-screen display: Logs take up the entire screen except for header/footer
- Raw Docker output: Displays logs exactly as
docker logs -f -n 10000would show - Interactive scrolling: Full scroll support with keyboard navigation
- Auto-scrolling: Automatically follows new logs, but can be disabled by scrolling up
- Memory efficient: Keeps only the last 10000 log lines in memory
- Live updates: Real-time log streaming
- Native Docker integration: Uses
- Keyboard shortcuts:
Escape- Go back to main menurorCtrl+R- Refresh container listTab- Toggle focus between search and tableCtrl+L- Show logs for selected containerCtrl+A- Toggle auto-refreshCtrl+E- Toggle show/hide exited containers- In log viewer:
EscapeorQ- Close logsCtrl+C- Stop following logs (but keep viewer open)R- Restart log following
🚧 Planned Features
- Images management
- Networks management
- Volumes management
- Container statistics and monitoring
Installation
-
Clone the repository:
git clone <repository-url> cd dockie-py
-
Install dependencies:
uv syncOr with pip:
pip install -e .
Usage
-
Make sure Docker is running on your system
-
Run the application:
python main.pyOr if installed:
dockie
-
Navigate the interface:
- Use the main menu to select "Containers"
- Use arrow keys to navigate the container table
- View container information including ID, name, image, status, creation time, uptime, and ports
- Use the search box to filter containers
- Select a container and use the action buttons: Restart, Logs, or Refresh
Requirements
- Python 3.12+
- Docker installed and running
- Terminal with support for mouse and keyboard input
Dependencies
- textual: Modern TUI framework
- docker: Python Docker SDK
- fuzzywuzzy: Fuzzy string matching for search
- python-levenshtein: Fast string matching algorithms
Screenshots
The application provides:
- A clean main menu with navigation options
- A detailed containers view with real-time information
- Intuitive search and filtering capabilities
- Color-coded status indicators for quick visual feedback
Development
To contribute to the project:
-
Install development dependencies:
uv sync --dev
-
Run tests:
pytest
-
Format code:
black . ruff check .
License
MIT License - see LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dockie-0.1.1.tar.gz.
File metadata
- Download URL: dockie-0.1.1.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45e63898b14c706ed6cd48effe3f2d97b75f8191d57be809f3d71cecc12f041b
|
|
| MD5 |
55119b1765f445a0f2ca927dbc7da063
|
|
| BLAKE2b-256 |
9c824d8c7e5e3cdc12ccb1e09afbc3c54d841d1b94a72d195654dd48d7def0a9
|
File details
Details for the file dockie-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dockie-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
089d760c6f0d09e6e0aea7e5746c256dfcd6a7eac4c67759f46644df1c7b31b8
|
|
| MD5 |
15b95e5b132092029b3b2fd7a8bc25ee
|
|
| BLAKE2b-256 |
86b8e80b1655e56e2c332f19522d4fda5ab8e076ef092565d46b582a2f3f8011
|