diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 308d5aeb339e33008d05dd1a0d0482887fb44741..bbb72af6a490390e9118e40034cd8c2092c0282d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,9 @@ variables:
   ECLIPSE_TEMURIN_IMAGE_NAME: "eclipse-temurin"
   ECLIPSE_TEMURIN_IMAGE: $CI_REGISTRY_IMAGE/$ECLIPSE_TEMURIN_IMAGE_NAME
 
+  NODE_IMAGE_NAME: "node"
+  NODE_IMAGE: $CI_REGISTRY_IMAGE/$NODE_IMAGE_NAME
+
   HELM_CI_IMAGE_NAME: "helm"
   HELM_CI_IMAGE: $CI_REGISTRY_IMAGE/$HELM_CI_IMAGE_NAME
 
@@ -27,11 +30,28 @@ build_eclipse_temurin:
   script:
     - export
     - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
+    - /kaniko/executor --context $CI_PROJECT_DIR/eclipse-temurin/11 --dockerfile $CI_PROJECT_DIR/eclipse-temurin/11/Dockerfile --destination ${ECLIPSE_TEMURIN_IMAGE}:11-jre-alpine
     - /kaniko/executor --context $CI_PROJECT_DIR/eclipse-temurin/17 --dockerfile $CI_PROJECT_DIR/eclipse-temurin/17/Dockerfile --destination ${ECLIPSE_TEMURIN_IMAGE}:17-jre-alpine
     - /kaniko/executor --context $CI_PROJECT_DIR/eclipse-temurin/21 --dockerfile $CI_PROJECT_DIR/eclipse-temurin/21/Dockerfile --destination ${ECLIPSE_TEMURIN_IMAGE}:21-jre-alpine
   only:
     - main
 
+build_node:
+  stage: build
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  tags:
+    - docker
+  script:
+    - export
+    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
+    - /kaniko/executor --context $CI_PROJECT_DIR/node/11 --dockerfile $CI_PROJECT_DIR/node/11/Dockerfile --destination ${NODE_IMAGE}:11-jre-alpine
+    - /kaniko/executor --context $CI_PROJECT_DIR/node/17 --dockerfile $CI_PROJECT_DIR/node/17/Dockerfile --destination ${NODE_IMAGE}:17-jre-alpine
+    - /kaniko/executor --context $CI_PROJECT_DIR/node/21 --dockerfile $CI_PROJECT_DIR/node/21/Dockerfile --destination ${NODE_IMAGE}:21-jre-alpine
+  only:
+    - main
+
 build_postgresql:
   stage: build
   image:
diff --git a/eclipse-temurin/11/Dockerfile b/eclipse-temurin/11/Dockerfile
index d834babd26108df5f7399399cc79b8e47d8841b0..e68900ad579c64e66caa9a7b9a1ccb46ac459f14 100644
--- a/eclipse-temurin/11/Dockerfile
+++ b/eclipse-temurin/11/Dockerfile
@@ -1 +1 @@
-FROM eclipse-temurin:17-jre-alpine
+FROM eclipse-temurin:11-jre-alpine
diff --git a/node/18/Dockerfile b/node/18/Dockerfile
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..33f7bd4a2216c7d1d90369999a559e8729feb23b 100644
--- a/node/18/Dockerfile
+++ b/node/18/Dockerfile
@@ -0,0 +1 @@
+FROM node:18-alpine
diff --git a/node/20/Dockerfile b/node/20/Dockerfile
index 33f7bd4a2216c7d1d90369999a559e8729feb23b..f0e004abad4ee13357ac293aa366ecfd0a8ac4d7 100644
--- a/node/20/Dockerfile
+++ b/node/20/Dockerfile
@@ -1 +1 @@
-FROM node:18-alpine
+FROM node:20-alpine
diff --git a/node/22/Dockerfile b/node/22/Dockerfile
index 33f7bd4a2216c7d1d90369999a559e8729feb23b..daf5a7287d1e77e4c7596acf7e141cb9e30df914 100644
--- a/node/22/Dockerfile
+++ b/node/22/Dockerfile
@@ -1 +1 @@
-FROM node:18-alpine
+FROM node:22-alpine