Skip to content

Let Watchtower update Imaginary and Talk Recording - #2886

Open
enoch85 wants to merge 4 commits into
mainfrom
fix/aio-containers-watchtower-label
Open

enoch85 wants to merge 4 commits into
mainfrom
fix/aio-containers-watchtower-label

Conversation

@enoch85

@enoch85 enoch85 commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

Fixes #2885

The AIO images for Imaginary and Talk Recording set com.centurylinklabs.watchtower.enable=false (since June 2023), and Watchtower skips a container with that label even when it's run with the container's name. So the update never replaced them, and still said that the image just got updated.

  • imaginary.sh and talk.sh start the containers with the label set to true, which overrides the image's label.
  • The update recreates existing containers once with runlike, so they keep their settings, before Watchtower runs.
  • Containers from before nextcloud-aio images have been moved to ghcr.io #2737 still use nextcloud/aio-*:latest from Docker Hub, which hasn't been updated since 2025-03-25. The recreate gives their image the ghcr.io name, so Watchtower updates them from there and removes the old image.

Tested with the real update on a full install (Ubuntu 26.04 in a privileged container, Docker 29.9.3, Watchtower 1.24.0), with both containers on the May 2025 images and started by the docker run lines on main. Talk Recording only ran as a container with dummy values, since the full Talk setup needs a public domain.

  • main: Watchtower scans nothing, both stay on the old image, and the update log says they were updated.
  • This branch: both are recreated with the label and updated to the current image, with the same ports, environment and arguments. Nextcloud still gets previews from Imaginary. A second update leaves them alone. Containers started by the new imaginary.sh and talk.sh lines already have the label, so the update doesn't recreate them.
  • Both containers on the Docker Hub images, started by the lines from before nextcloud-aio images have been moved to ghcr.io #2737: without the last commit they stay on the March 2025 images. With it they end on the current ghcr.io images, and the Docker Hub images are removed.

The AIO images set com.centurylinklabs.watchtower.enable=false, and
Watchtower skips a container with that label even when it's run with the
container's name. So the update never replaced Imaginary or Talk Recording,
and still said that the image just got updated.

Start both containers with the label set to true, which overrides the image.
The update recreates existing containers once with runlike, so they keep
their settings, before Watchtower runs.

Signed-off-by: enoch85 <mailto@danielhansson.nu>
@enoch85
enoch85 marked this pull request as ready for review November 9, 2026 21:46
@enoch85

enoch85 commented Nov 9, 2026

Copy link
Copy Markdown
Member Author

@szaimen Approve?

VMs that installed Imaginary or Talk Recording before the images moved to
ghcr.io (#2737) still run nextcloud/aio-*:latest from Docker Hub. That tag
hasn't been updated since 2025-03-25. When the update recreates the container,
give its image the ghcr.io name, so that Watchtower updates it from there and
removes the old image.

Signed-off-by: enoch85 <mailto@danielhansson.nu>
Signed-off-by: enoch85 <mailto@danielhansson.nu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VM updater skips Imaginary because the image disables Watchtower

1 participant