From f73b57356610d7a471eb31cb514d53b4118159ac Mon Sep 17 00:00:00 2001 From: enoch85 Date: Mon, 9 Nov 2026 20:36:52 +0000 Subject: [PATCH 1/2] Let Watchtower update Imaginary and Talk Recording 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 --- apps/imaginary.sh | 2 +- apps/talk.sh | 1 + nextcloud_update.sh | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/imaginary.sh b/apps/imaginary.sh index b10188a2df..ce0ef76a3d 100644 --- a/apps/imaginary.sh +++ b/apps/imaginary.sh @@ -112,7 +112,7 @@ install_docker # Pull and start docker pull ghcr.io/nextcloud-releases/aio-imaginary:latest -docker run -t -d -p 127.0.0.1:9000:9000 --restart always --name imaginary ghcr.io/nextcloud-releases/aio-imaginary –cap-add=sys_nice -concurrency 50 -enable-url-source -return-size -log-level debug +docker run -t -d -p 127.0.0.1:9000:9000 --restart always --name imaginary --label com.centurylinklabs.watchtower.enable=true ghcr.io/nextcloud-releases/aio-imaginary –cap-add=sys_nice -concurrency 50 -enable-url-source -return-size -log-level debug # Test if imaginary is working countdown "Testing if it works in 3 seconds" "3" diff --git a/apps/talk.sh b/apps/talk.sh index 3e2ec6bf2e..e41fc7cfda 100644 --- a/apps/talk.sh +++ b/apps/talk.sh @@ -572,6 +572,7 @@ docker pull ghcr.io/nextcloud-releases/aio-talk-recording:latest docker run -t -d -p "$TURN_RECORDING_HOST":"$TURN_RECORDING_HOST_PORT":"$TURN_RECORDING_HOST_PORT" \ --restart always \ --name talk-recording \ +--label com.centurylinklabs.watchtower.enable=true \ --shm-size=2GB \ -e NC_DOMAIN="${TURN_DOMAIN}" \ -e HPB_DOMAIN="${SUBDOMAIN}" \ diff --git a/nextcloud_update.sh b/nextcloud_update.sh index b642a4ddaa..60a3d4e35a 100644 --- a/nextcloud_update.sh +++ b/nextcloud_update.sh @@ -753,6 +753,20 @@ $DOCKER_RUN_OUTPUT" fi fi fi + # The AIO images tell Watchtower to skip them, so recreate these containers once with that label set to true + for aio in talk-recording imaginary + do + if [ "$(docker inspect -f '{{index .Config.Labels "com.centurylinklabs.watchtower.enable"}}' "$aio" 2>/dev/null)" = "false" ] + then + docker pull assaflavie/runlike &>/dev/null + if AIO_RUN=$(docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike "$aio") + then + docker stop "$aio" + docker rm "$aio" + bash -c "${AIO_RUN/docker run/docker run --label com.centurylinklabs.watchtower.enable=true}" + fi + fi + done # Talk Recording docker_update_specific 'talk-recording' "Talk Recording" # Plex From 9cab7934ef81214301c8df2b64783655943dd9fb Mon Sep 17 00:00:00 2001 From: enoch85 Date: Mon, 9 Nov 2026 21:59:42 +0000 Subject: [PATCH 2/2] Move AIO containers that still use Docker Hub to ghcr.io 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 --- nextcloud_update.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nextcloud_update.sh b/nextcloud_update.sh index 60a3d4e35a..f1abf2e004 100644 --- a/nextcloud_update.sh +++ b/nextcloud_update.sh @@ -763,6 +763,9 @@ $DOCKER_RUN_OUTPUT" then docker stop "$aio" docker rm "$aio" + # The latest tag on Docker Hub isn't updated anymore, so move to ghcr.io + docker tag nextcloud/aio-"$aio" ghcr.io/nextcloud-releases/aio-"$aio" &>/dev/null + AIO_RUN="${AIO_RUN/ nextcloud\/aio-/ ghcr.io/nextcloud-releases/aio-}" bash -c "${AIO_RUN/docker run/docker run --label com.centurylinklabs.watchtower.enable=true}" fi fi