diff --git a/Containers/watchtower/Dockerfile b/Containers/watchtower/Dockerfile index 16331f70..ad4dd4b4 100644 --- a/Containers/watchtower/Dockerfile +++ b/Containers/watchtower/Dockerfile @@ -1,11 +1,5 @@ # syntax=docker/dockerfile:latest -FROM golang:1.24.4-alpine3.21 AS go - -RUN set -ex; \ - apk upgrade --no-cache -a; \ - apk add --no-cache \ - build-base; \ - go install github.com/containrrr/watchtower@76f9cea516593fabb8ca91ff13de55caa6aa0a8b; +FROM ghcr.io/nicholas-fedor/watchtower:1.11.3 AS watchtower FROM alpine:3.21.3 @@ -13,7 +7,7 @@ RUN set -ex; \ apk upgrade --no-cache -a; \ apk add --no-cache bash ca-certificates tzdata -COPY --from=go /go/bin/watchtower /watchtower +COPY --from=watchtower /watchtower /watchtower COPY --chmod=775 start.sh /start.sh diff --git a/Containers/watchtower/start.sh b/Containers/watchtower/start.sh index 2c7a1835..bec4d3a2 100644 --- a/Containers/watchtower/start.sh +++ b/Containers/watchtower/start.sh @@ -9,6 +9,13 @@ elif ! test -r /var/run/docker.sock; then exit 1 fi +if [ -f /run/.containerenv ]; then + # If running under podman disable memory_swappiness setting in watchtower. + # It is a necessary workaround until https://github.com/containers/podman/issues/23824 gets fixed. + echo "Running under Podman. Setting WATCHTOWER_DISABLE_MEMORY_SWAPPINESS to 1." + export WATCHTOWER_DISABLE_MEMORY_SWAPPINESS=1 +fi + if [ -n "$CONTAINER_TO_UPDATE" ]; then exec /watchtower --cleanup --debug --run-once "$CONTAINER_TO_UPDATE" else