diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 745d808152999fe1d2f9eb1ecb5eeeb4fa6dd27c..b762d7b6fa2d106c1d249483aa07666c1bf7e247 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -110,6 +110,8 @@ push-k8s:
 # pre-commit image:
 
 build-pre-commit:
+  needs:
+    - push-python3
   extends: .container-build
   variables:
     CONTEXT: images/pre-commit
diff --git a/images/bats/Dockerfile b/images/bats/Dockerfile
index 33718a2fe11c0d96c4b4d55fd5ad3ccb0bfcd9b3..c9656ab368fff903fb4cd8f4864d2b6cae9be0d0 100644
--- a/images/bats/Dockerfile
+++ b/images/bats/Dockerfile
@@ -1,4 +1,4 @@
-FROM registry.hub.docker.com/library/alpine:3.18
+FROM registry.hub.docker.com/library/alpine:3.21
 # hadolint ignore=DL3018
 RUN apk add --update --no-cache \
         bats \
diff --git a/images/docker/Dockerfile b/images/docker/Dockerfile
index 03c9b405601944397a6fa8011d8642597ffa54c7..79d93f88b9a556cd53733d07d26ea5d3ffd2b64e 100644
--- a/images/docker/Dockerfile
+++ b/images/docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.io/docker:24.0-cli
+FROM docker.io/docker:28.0-cli
 # hadolint ignore=DL3018
 RUN apk add --update-cache --no-cache \
         buildah \
diff --git a/images/hugo/Dockerfile b/images/hugo/Dockerfile
index 3a11a2b40f610b5c4e7a777cfc4821736b2c3c34..43a2e695921a18288d14f0f36177fd579ac3c2cc 100644
--- a/images/hugo/Dockerfile
+++ b/images/hugo/Dockerfile
@@ -1,4 +1,4 @@
-FROM registry.hub.docker.com/library/alpine:3.18
+FROM registry.hub.docker.com/library/alpine:3.21
 # hadolint ignore=DL3018
 RUN apk add --no-cache --update hugo && \
     hugo version
diff --git a/images/k8s/Dockerfile b/images/k8s/Dockerfile
index bd30cf4144e04c007588cdc577cbd7a32a089a55..69bc5f144f9321bdde24dcb5f54bd9e95fa59e9b 100644
--- a/images/k8s/Dockerfile
+++ b/images/k8s/Dockerfile
@@ -1,7 +1,6 @@
-FROM docker.io/library/alpine:3.18
+FROM docker.io/library/alpine:3.21
 # hadolint ignore=DL3018
-RUN wget -q https://apk.cloudposse.com/ops@cloudposse.com.rsa.pub -O /etc/apk/keys/ops@cloudposse.com.rsa.pub && \
-    echo "https://apk.cloudposse.com/3.15/vendor" >> /etc/apk/repositories && \
+RUN echo '@community https://dl-cdn.alpinelinux.org/alpine/v3.21/community' >> /etc/apk/repositories && \
     apk add --update --no-cache \
         docker-cli \
         helm \
diff --git a/images/pre-commit/Dockerfile b/images/pre-commit/Dockerfile
index dfb144f7e7c39785c49d6ba12d7e39bb7daf1507..6953960c50bff67d2ef75808833e87994d33e725 100644
--- a/images/pre-commit/Dockerfile
+++ b/images/pre-commit/Dockerfile
@@ -1,5 +1,5 @@
 # hadolint ignore=DL3007
-FROM registry.shore.co.il/toolbx:latest
+FROM registry.shore.co.il/ci-images:python3
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 # hadolint ignore=DL3008,DL3013
 RUN apt-get update && \
@@ -7,18 +7,9 @@ RUN apt-get update && \
         docker-ce-cli \
         docker-compose-plugin \
         git \
-        python3-dev \
-        python3-pip \
-        python3-setuptools \
-        python3-venv \
     && \
     ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose && \
-    export PIP_CONSTRAINT=/tmp/constraint.txt && \
-    echo 'Cython < 3.0' > "$PIP_CONSTRAINT" && \
-    python3 -m pip install --no-cache-dir --break-system-packages \
-        pipenv \
-        poetry \
+    python3 -m pip install --no-cache-dir \
         pre_commit \
-        tox \
     && \
     rm -rf /root/.cache /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
diff --git a/images/python3/Dockerfile b/images/python3/Dockerfile
index 758e477031636c8b1aa8569fce8cff95d8fcabee..f1a0d43368aface52e3b2344d00de41c0e135f49 100644
--- a/images/python3/Dockerfile
+++ b/images/python3/Dockerfile
@@ -1,12 +1,15 @@
-FROM buildpack-deps:bookworm
+# hadolint ignore=DL3007
+FROM registry.shore.co.il/toolbx:latest
 # hadolint ignore=DL3008,DL3013
 RUN apt-get update && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        build-essential \
         python3-dev \
         python3-pip \
         python3-venv \
     && \
-    python3 -m pip install --progress-bar=off --no-cache-dir --upgrade --break-system-packages \
+    rm /usr/lib/python*/EXTERNALLY-MANAGED && \
+    python3 -m pip install --progress-bar=off --no-cache-dir --upgrade \
         pipenv \
         poetry \
         tox \