diff --git a/images/dovecot/Earthfile b/images/dovecot/Earthfile
index 343862a344e5ec11a5f78703975204c0d022837e..de17c28664bdcf55a6648dd7339eb32f0bcf4cd4 100644
--- a/images/dovecot/Earthfile
+++ b/images/dovecot/Earthfile
@@ -54,5 +54,7 @@ container:
     ENTRYPOINT ["/usr/sbin/dovecot", "-F"]
     IF [ $latest = "true" ]
         SAVE IMAGE --push ${registry}:latest
+    ELSE
+        LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
diff --git a/images/findmydevice-server/Earthfile b/images/findmydevice-server/Earthfile
index 9b69ffb94d460789ebf34a040da38a3541817827..fca038db748469ba9eeb316f12940e6fd5a70fb3 100644
--- a/images/findmydevice-server/Earthfile
+++ b/images/findmydevice-server/Earthfile
@@ -1,14 +1,12 @@
 VERSION 0.7
 
-builder:
-    FROM docker.io/library/golang:1.21.0-bookworm
-
+build:
+    FROM ../mirror+golang
+    ARG FMD_SERVER_VERSION
     WORKDIR /go/src/findmydeviceserver
     ENV GOPATH /go
 
-    RUN apt update && apt install -y npm
-
-    GIT CLONE --keep-ts --branch=v0.4.0 https://gitlab.com/Nulide/findmydeviceserver.git ./
+    GIT CLONE --keep-ts --branch=$FMD_SERVER_VERSION https://git.shivering-isles.com/other-mirrors/findmydevice/findmydeviceserver.git ./
     RUN sed -i 's/1020/8080/' cmd/fmdserver.go
     RUN sed -i 's/1008/8443/' cmd/fmdserver.go
 
@@ -16,7 +14,6 @@ builder:
     RUN bash ./objectbox-install.sh
 
     RUN go build -o /fmd cmd/fmdserver.go
-    RUN npm install
 
     SAVE ARTIFACT /usr/lib/libobjectbox.so ./libobjectbox.so
     SAVE ARTIFACT /go/src/findmydeviceserver/node_modules ./node_modules
@@ -29,18 +26,20 @@ container:
     FROM docker.io/library/debian:bookworm-slim
 
     ARG registry=quay.io/shivering-isles/findmydevice-server
-    COPY .release ./
-    ARG tag=$(awk -F'=' '$1 == "release" {print $2}' .release)
+    # renovate: datasource=git-tags depName=https://git.shivering-isles.com/other-mirrors/findmydevice/findmydeviceserver.git
+    ARG FMD_SERVER_VERSION=v0.4.0
+    ENV FMD_SERVER_VERSION=${FMD_SERVER_VERSION}
+    ARG tag=${FMD_SERVER_VERSION}
     ARG latest=false
 
     RUN apt update && apt install -y ca-certificates && rm -rf /var/lib/apt/lists/*
 
-    COPY +builder/server /fmd/server
-    COPY +builder/node_modules /fmd/web/node_modules
-    COPY +builder/libobjectbox.so /usr/lib/libobjectbox.so
+    COPY (+build/server --FMD_SERVER_VERSION=${FMD_SERVER_VERSION})  /fmd/server
+    COPY (+build/node_modules --FMD_SERVER_VERSION=${FMD_SERVER_VERSION}) /fmd/web/node_modules
+    COPY (+build/libobjectbox.so --FMD_SERVER_VERSION=${FMD_SERVER_VERSION}) /usr/lib/libobjectbox.so
 
-    COPY +builder/web /fmd/web
-    COPY +builder/extra /fmd/extra
+    COPY (+build/web --FMD_SERVER_VERSION=${FMD_SERVER_VERSION}) /fmd/web
+    COPY (+build/extra --FMD_SERVER_VERSION=${FMD_SERVER_VERSION}) /fmd/extra
 
     RUN useradd -m -u 1000 user
     RUN mkdir /fmd/objectbox \
@@ -53,5 +52,7 @@ container:
 
     IF [ $latest = "true" ]
         SAVE IMAGE --push ${registry}:latest
+    ELSE
+        LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
diff --git a/images/koolbox/Earthfile b/images/koolbox/Earthfile
index 546cd0129a9a52b698ebd321b133d84634306449..c254a834397e41b98dff88e4483ea06f5320a38a 100644
--- a/images/koolbox/Earthfile
+++ b/images/koolbox/Earthfile
@@ -9,5 +9,7 @@ container:
     FROM DOCKERFILE --platform=linux/amd64 -f "./Dockerfile" "./"
     IF [ $latest = "true" ]
         SAVE IMAGE --push ${registry}:latest
+    ELSE
+        LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
\ No newline at end of file
diff --git a/images/postfix/Earthfile b/images/postfix/Earthfile
index 12bb2f2d25aa53cac3b95bdc72b4ce03c0e12505..6462b303d2838aecba6daf55cb35b29b0137f482 100644
--- a/images/postfix/Earthfile
+++ b/images/postfix/Earthfile
@@ -40,5 +40,7 @@ container:
     ENTRYPOINT [ "sh" , "/usr/local/libexec/start.sh" ]
     IF [ $latest = "true" ]
         SAVE IMAGE --push ${registry}:latest
+    ELSE
+        LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
\ No newline at end of file
diff --git a/images/query-exposer/Earthfile b/images/query-exposer/Earthfile
index d3e5106f2561290ceb59573a7cdaf145a230e20a..0b908bd924c99e936669d594e604d5b75ffe60f4 100644
--- a/images/query-exposer/Earthfile
+++ b/images/query-exposer/Earthfile
@@ -19,14 +19,24 @@ build:
     RUN go build -mod=vendor -o output/query-exposer
     SAVE ARTIFACT output/query-exposer AS LOCAL local-output/go-query-exposer
 
+container-internal:
+    FROM ../mirror+distroless-static
+    COPY +build/query-exposer /
+    ENTRYPOINT ["/query-exposer"]
+
 container:
+    FROM ../mirror+golang
+    ARG registry=quay.io/shivering-isles/query-exposer
     COPY .release ./
     ARG tag=$(awk -F'=' '$1 == "release" {print $2}' .release)
-    FROM ../mirror+distroless-static
-    ARG registry=quay.io/shivering-isles/query-exposer
     ARG latest=false
-    COPY +build/query-exposer /
-    ENTRYPOINT ["/query-exposer"]
+    IF [ $latest = "true" ]
+        FROM +container-internal
+        SAVE IMAGE --push ${registry}:latest
+    ELSE
+        FROM +container-internal
+        LABEL "quay.expires-after"="12w"
+    END
     SAVE IMAGE --push ${registry}:${tag}
 
 scan:
diff --git a/images/synadm/Earthfile b/images/synadm/Earthfile
index fc4be6bde83225f09bf67e3b6bef95243cb09ff2..381b0bb050ed32205b1796800798545de1513d7b 100644
--- a/images/synadm/Earthfile
+++ b/images/synadm/Earthfile
@@ -9,5 +9,7 @@ container:
     FROM DOCKERFILE --platform=linux/amd64 -f "./Dockerfile" "./"
     IF [ $latest = "true" ]
         SAVE IMAGE --push ${registry}:latest
+    ELSE
+        LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
\ No newline at end of file