diff --git a/docker-manager/README.md b/docker-manager/README.md index be7d3ec..96cb3d5 100644 --- a/docker-manager/README.md +++ b/docker-manager/README.md @@ -4,9 +4,12 @@ A Python command-line application to manage Docker containers defined in subdire ## Features +- **Rich UI**: Beautiful terminal output using the `rich` library, including tables, panels, and colored status indicators. - **List**: View currently running containers across all your projects. -- **Describe**: Show detailed information about containers in a specific project, including descriptions. -- **Volumes**: List volumes used by a specific project. + - **Diun Integration**: Automatically detects if [Diun](https://github.com/crazy-max/diun) is running and displays image versions and update availability directly in the list. +- **Describe**: Show detailed information about containers in a specific project, including descriptions, ports, and a formatted table of volumes. +- **Volumes**: List all volumes used by a specific project with source and destination details. +- **Logs**: View logs for a project, with options to follow, tail, and **filter by specific container/service**. - **Stop**: Stop containers for a specific project or all projects. - **Update**: Pull the latest images and recreate containers (equivalent to `docker compose pull && docker compose up -d`). - **Restart**: Restart containers for a specific project or all projects. @@ -15,6 +18,10 @@ A Python command-line application to manage Docker containers defined in subdire - Python 3 - Docker and Docker Compose (plugin) installed. +- The `rich` Python library: + ```bash + pip install rich + ``` - A `~/docker/` directory containing subdirectories for each of your projects. - Each project subdirectory must contain a `docker-compose.yml`, `docker-compose.yaml`, `compose.yml`, or `compose.yaml` file. @@ -46,10 +53,34 @@ A Python command-line application to manage Docker containers defined in subdire Run the application using the command name you set up (e.g., `dm`). ### List Running Containers +Displays a table with Project, Container Name, State, Image, Version, and Update Status. ```bash dm list ``` +### Describe Project +Show detailed info (Service, Image, State, Ports, Description, Volumes) for a project. +```bash +dm describe project_name +``` + +### List Volumes +Show a table of all volumes (Bind mounts and named volumes) for a project. +```bash +dm volumes project_name +``` + +### View Logs +View logs for a project. +```bash +dm logs project_name +``` +**Options:** +- Follow output: `dm logs project_name -f` +- Tail specific number of lines: `dm logs project_name --tail 100` +- **Filter by container**: `dm logs project_name container_name` + - Example: `dm logs media gluetun --tail 50` + ### Stop Containers Stop a specific project: ```bash