Devolutions / Devolutions/UniGetUI

[FEATURE REQUEST] Docker Compose stack updates

Open
#5,338 0 comments 0 reactions 0 assignees View on GitHub
new-feature
Dominant language
C#
Stars
26.1k
Forks
924
Avg merge
15h 52m
Merged PRs (30d)
52

Description

### Please confirm these before moving forward.

- [x] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
- [x] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use [this template](https://github.com/Devolutions/UniGetUI/issues/new?labels=enhancement&projects=&template=enhancement-improvement.yml&title=%5BENHANCEMENT%5D+%28Enter+your+description+here%29).

### Describe the new feature

It would be useful if UniGetUI could manage updates for local Docker Compose stacks.

The basic idea would be to treat each Compose project as one package. UniGetUI could scan one or more configured directories for:

```text
compose.yaml
compose.yml
docker-compose.yml
```

For example:

```text
C:\docker\n8n
C:\docker\speakr
```

Each stack could then appear under Software Updates, for example:

```text
n8n Update available - 1 image
Speakr Update available - 2 images
```

Updating a stack could essentially run:

```bash
docker compose pull
docker compose up -d
```

from that project's directory.

One important detail is update detection. Many Docker images use tags such as `latest`, so comparing version/tag strings is not enough. Ideally, UniGetUI would compare the local image digest with the current remote digest.

A minimal initial implementation could support:

* Configurable Compose stack directories
* Automatic stack discovery
* Detection of updated images
* Updating the whole stack
* Showing Docker Compose output/errors
* Ignoring or marking services that only use `build:`

I would avoid stack deletion, volume deletion, or similar destructive operations initially.

If it fits UniGetUI's package-manager architecture, Docker Compose could potentially be implemented as another manager, with each Compose project representing one installed package.

Using the existing Docker CLI would also mean Docker Desktop credentials and private registry authentication should continue working normally.

The goal would be to let UniGetUI act as a single update dashboard for both normal Windows applications and locally hosted Docker services.

### Describe how this new feature could help users

Unified updates as the project suggests :)

Contributor guide

Open the contributing guide

Research direction

No source files, tests, or entry points are named. Start by reviewing UniGetUI's package-manager architecture and how it could invoke the existing Docker CLI; the issue's completion criteria are configurable stack directories, automatic discovery, image-update detection, whole-stack updates, output and error display, and handling services that only use build:.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.