Bug Description
When Arcane updates a container to a newer image that was pulled under the same tag (e.g. latest or traefik:v3), the newly pulled image is not automatically retagged locally with that same tag. I've observed this in two different update paths, both on already-existing (not freshly created) projects/stacks:
- Standalone Projects (non-Swarm) — using the "Update Container" action on the Resources → Updates page for a service within an existing Compose project.
- Docker Swarm stacks — after making a small edit to an existing stack and clicking "Save", which triggers Arcane to redeploy the stack (even when the image tag itself wasn't changed).
I intentionally pin several images to a specific tag rather than latest.
I have not tested this against a freshly created project or stack — only against existing, previously-deployed ones.
I'd expect the same behavior there, but haven't verified it.
Steps To Reproduce
Standalone Projects (non-Swarm):
- Start from an existing, already-deployed Compose project with a service pinned to a specific, non-
latest moving tag, e.g.:
services:
traefik:
image: traefik:v3
...
- Wait for Arcane to detect an available update for that image (new digest published under the same
v3 tag), or trigger a manual "Check for Updates".
- From the Resources → Updates page, use the row action "Update Container" for that service.
- After the update completes, inspect the local images:
docker images | grep traefik and docker inspect <container> --format '{{.Config.Image}}'.
Docker Swarm stack:
- Start from an existing, already-deployed Swarm stack with a service pinned the same way, e.g.
traefik:v3.
- Open the stack in Arcane, make a small edit (e.g. a trivial, non-image-related change), and click "Save" so the stack gets redeployed.
- Inspect the image reference:
docker service inspect <service> --format '{{.Spec.TaskTemplate.ContainerSpec.Image}}' and docker images | grep traefik on the relevant node.
Expected Behavior
In both cases, the locally pulled image should be retagged with the same tag it had before the update (traefik:v3), consistent with normal docker pull/docker compose pull behavior. docker images should show traefik:v3 pointing at the new digest, with no old tag lingering on the previous digest, and the running container/service should reference the image by that tag.
Actual Behavior
After updating via either path, the newly pulled image is not automatically retagged with the pre-update tag (v3).
In the images the new image has as tag value.
Screenshots
No response
Arcane Version
v2.10.0
Installation Method
Docker Compose (Recommended)
Environment Type
Both Local and Remote Agents
Database Type
SQLite (Default)
Operating System
Linux
Docker Version
29.7.2
Browser & Version
Brave latest version (on MacOS)
Relevant Logs or Error Messages
Docker Compose Configuration
Environment Configuration (.env file)
Additional Context
I have observed this same tag-retagging problem in two distinct update code paths
— standalone (non-Swarm) Projects and Docker Swarm stacks —
which suggests either a shared underlying cause (e.g. in the image pull/tag handling shared by both flows) or two separate but similarly-behaving bugs. Filing as one combined report so the maintainers can determine whether it's one fix or two.
Bug Description
When Arcane updates a container to a newer image that was pulled under the same tag (e.g.
latestortraefik:v3), the newly pulled image is not automatically retagged locally with that same tag. I've observed this in two different update paths, both on already-existing (not freshly created) projects/stacks:I intentionally pin several images to a specific tag rather than
latest.I have not tested this against a freshly created project or stack — only against existing, previously-deployed ones.
I'd expect the same behavior there, but haven't verified it.
Steps To Reproduce
Standalone Projects (non-Swarm):
latestmoving tag, e.g.:services:
traefik:
image: traefik:v3
...
v3tag), or trigger a manual "Check for Updates".docker images | grep traefikanddocker inspect <container> --format '{{.Config.Image}}'.Docker Swarm stack:
traefik:v3.docker service inspect <service> --format '{{.Spec.TaskTemplate.ContainerSpec.Image}}'anddocker images | grep traefikon the relevant node.Expected Behavior
In both cases, the locally pulled image should be retagged with the same tag it had before the update (
traefik:v3), consistent with normaldocker pull/docker compose pullbehavior.docker imagesshould showtraefik:v3pointing at the new digest, with no old tag lingering on the previous digest, and the running container/service should reference the image by that tag.Actual Behavior
After updating via either path, the newly pulled image is not automatically retagged with the pre-update tag (
v3).In the images the new image has as tag value.
Screenshots
No response
Arcane Version
v2.10.0
Installation Method
Docker Compose (Recommended)
Environment Type
Both Local and Remote Agents
Database Type
SQLite (Default)
Operating System
Linux
Docker Version
29.7.2
Browser & Version
Brave latest version (on MacOS)
Relevant Logs or Error Messages
Docker Compose Configuration
Environment Configuration (.env file)
Additional Context
I have observed this same tag-retagging problem in two distinct update code paths
— standalone (non-Swarm) Projects and Docker Swarm stacks —
which suggests either a shared underlying cause (e.g. in the image pull/tag handling shared by both flows) or two separate but similarly-behaving bugs. Filing as one combined report so the maintainers can determine whether it's one fix or two.