When deploying stacks with large Docker images, clicking the "Deploy" button can result in a long wait with no visible feedback to the user. The UI appears to hang or be unresponsive while Docker is pulling multi-gigabyte images in the background. This creates a poor user experience as there's no way to know:
If the deployment is actually progressing
How long it will take
Which image is currently being pulled
If something has stalled or failed
Current Behavior
User clicks "Deploy" or "Pull Images" on a stack
UI shows the action is running but provides no progress details
User must wait with no feedback until the entire operation completes
For large images (especially on slower connections), this can take many minutes
Proposed Solution
Stream real-time Docker image pull progress to the UI, similar to what you see in a terminal when running docker pull or docker compose pull. This would include:
Essential Information:
Current layer being downloaded (e.g., "Pulling layer 3/8")
Which image is being pulled (when multiple images in a stack)
Current status (Pulling, Extracting, Verifying, Complete)
Display Options:
Progress bar showing overall completion percentage
Log-style output in the Updates/Logs section showing Docker's native pull output
Status indicator on the resource card showing "Pulling images..." with progress
Benefits
Better UX: Users know the deployment is actually working
Time management: Users can estimate how long to wait
Troubleshooting: Easier to identify stalled downloads or network issues
Transparency: Users can see which specific layers or images are causing delays
Technical Considerations
The underlying docker compose pull and docker pull commands already output progress information to stdout. The solution would need to:
Stream command output from Periphery to Core
Parse Docker's progress format (or stream raw)
Display in the UI via websocket updates
Handle multiple concurrent pulls gracefully
Similar Existing Features
Komodo already streams logs and update information via websockets. This feature would extend that pattern to include Docker pull operations.
Alternatives Considered
Periodic polling: Show "Still pulling..." every X seconds (less informative)
External monitoring: Direct users to use tools like Dozzle (poor integrated experience)
Pre-pull warnings: Warn about large images before deploy (doesn't solve the visibility issue)
Use Cases
Deploying stacks with ML models or large application images (>1GB)
Limited bandwidth environments where pulls take 10+ minutes
Multi-service stacks pulling several large images sequentially
Debugging stuck or failed image pulls
Related Issues
#244 - Improved PullStack logging (addressed error messages but not progress)
#99 - Pull images functionality (related to pull operations)
Environment:
Happens with both Stack and Deployment resources
Affects both container-based and systemd Periphery agents
More noticeable on slower networks or with large images
Priority: Quality of Life / User Experience improvement
Originally created by @dojoca on GitHub (Feb 14, 2026).
Original GitHub issue: https://github.com/moghtech/komodo/issues/1198
## Problem Statement
When deploying stacks with large Docker images, clicking the "Deploy" button can result in a long wait with no visible feedback to the user. The UI appears to hang or be unresponsive while Docker is pulling multi-gigabyte images in the background. This creates a poor user experience as there's no way to know:
- If the deployment is actually progressing
- How long it will take
- Which image is currently being pulled
- If something has stalled or failed
## Current Behavior
- User clicks "Deploy" or "Pull Images" on a stack
- UI shows the action is running but provides no progress details
- User must wait with no feedback until the entire operation completes
- For large images (especially on slower connections), this can take many minutes
## Proposed Solution
Stream real-time Docker image pull progress to the UI, similar to what you see in a terminal when running `docker pull` or `docker compose pull`. This would include:
**Essential Information:**
- Current layer being downloaded (e.g., "Pulling layer 3/8")
- Download progress percentage and size (e.g., "Downloading: 234MB / 1.2GB [45%]")
- Which image is being pulled (when multiple images in a stack)
- Current status (Pulling, Extracting, Verifying, Complete)
**Display Options:**
1. **Progress bar** showing overall completion percentage
2. **Log-style output** in the Updates/Logs section showing Docker's native pull output
3. **Status indicator** on the resource card showing "Pulling images..." with progress
## Benefits
1. **Better UX**: Users know the deployment is actually working
2. **Time management**: Users can estimate how long to wait
3. **Troubleshooting**: Easier to identify stalled downloads or network issues
4. **Transparency**: Users can see which specific layers or images are causing delays
## Technical Considerations
The underlying `docker compose pull` and `docker pull` commands already output progress information to stdout. The solution would need to:
- Stream command output from Periphery to Core
- Parse Docker's progress format (or stream raw)
- Display in the UI via websocket updates
- Handle multiple concurrent pulls gracefully
## Similar Existing Features
Komodo already streams logs and update information via websockets. This feature would extend that pattern to include Docker pull operations.
## Alternatives Considered
1. **Periodic polling**: Show "Still pulling..." every X seconds (less informative)
2. **External monitoring**: Direct users to use tools like Dozzle (poor integrated experience)
3. **Pre-pull warnings**: Warn about large images before deploy (doesn't solve the visibility issue)
## Use Cases
- Deploying stacks with ML models or large application images (>1GB)
- Limited bandwidth environments where pulls take 10+ minutes
- Multi-service stacks pulling several large images sequentially
- Debugging stuck or failed image pulls
## Related Issues
- #244 - Improved PullStack logging (addressed error messages but not progress)
- #99 - Pull images functionality (related to pull operations)
---
**Environment:**
- Happens with both Stack and Deployment resources
- Affects both container-based and systemd Periphery agents
- More noticeable on slower networks or with large images
**Priority:** Quality of Life / User Experience improvement
Would also like to see such a feature; not knowing if an image is taking a long time to download, if a deploy failed, or if something is hung, is problematic.
<!-- gh-comment-id:4165037866 -->
@cjlwo commented on GitHub (Mar 31, 2026):
Would also like to see such a feature; not knowing if an image is taking a long time to download, if a deploy failed, or if something is hung, is problematic.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @dojoca on GitHub (Feb 14, 2026).
Original GitHub issue: https://github.com/moghtech/komodo/issues/1198
Problem Statement
When deploying stacks with large Docker images, clicking the "Deploy" button can result in a long wait with no visible feedback to the user. The UI appears to hang or be unresponsive while Docker is pulling multi-gigabyte images in the background. This creates a poor user experience as there's no way to know:
Current Behavior
Proposed Solution
Stream real-time Docker image pull progress to the UI, similar to what you see in a terminal when running
docker pullordocker compose pull. This would include:Essential Information:
Display Options:
Benefits
Technical Considerations
The underlying
docker compose pullanddocker pullcommands already output progress information to stdout. The solution would need to:Similar Existing Features
Komodo already streams logs and update information via websockets. This feature would extend that pattern to include Docker pull operations.
Alternatives Considered
Use Cases
Related Issues
Environment:
Priority: Quality of Life / User Experience improvement
@Snuupy commented on GitHub (Feb 24, 2026):
also mentioned here:
https://discord.com/channels/1272479750065094760/1272480037026660362/1396944037184802928
https://discord.com/channels/1272479750065094760/1272480037026660362/1396944037184802928
https://discord.com/channels/1272479750065094760/1272479750065094763/1469149711465451640
and related: https://github.com/moghtech/komodo/issues/77
@LordFransie commented on GitHub (Mar 9, 2026):
This would be a major QOL update for me.
@cjlwo commented on GitHub (Mar 31, 2026):
Would also like to see such a feature; not knowing if an image is taking a long time to download, if a deploy failed, or if something is hung, is problematic.
@r3df0chs commented on GitHub (Jun 1, 2026):
Would be a great feature, only thing i miss if i would use the CLI