diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2db242e27ba035c1e2a6ee12f7d3d37025b42b3c..0517e7028212093c6116503fa3f833d347690c2f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,7 +28,7 @@ docker-build:
      - !reference [.rules, rules]
   stage: build
   image:
-    name: gcr.io/kaniko-project/executor:v1.9.0-debug
+    name: gcr.io/kaniko-project/executor:debug
     entrypoint: [""]
   script:
     - echo "Project name is ${CI_PROJECT_NAME}"
diff --git a/Dockerfile b/Dockerfile
index dd05341939a9c268946e09585c01f59bef2ce0fa..109219592c78fd0cb7401a34e15db60085c058ee 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,22 +1,25 @@
-# Base
-FROM node:20 AS base
-
+FROM node:20 AS dependencies
+ARG APP_HOME=/home/node/app
 ARG SERVICE
 
 WORKDIR /home/node/app
 
 RUN corepack enable
 
-# Dependencies
-FROM base AS dependencies
-
 COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig*.json .swcrc ./
 COPY patches ./patches
 COPY apps/shared/package.json ./apps/shared/
 RUN pnpm install --frozen-lockfile
 
 # Build shared
-FROM base AS build-shared
+FROM node:20 as build-shared
+
+ARG APP_HOME=/home/node/app
+ARG SERVICE
+
+WORKDIR ${APP_HOME}
+
+RUN corepack enable
 
 COPY apps/shared ./apps/shared
 COPY --from=dependencies /home/node/app/package.json /home/node/app/pnpm-lock.yaml /home/node/app/pnpm-workspace.yaml /home/node/app/tsconfig*.json /home/node/app/.swcrc ./
@@ -26,7 +29,14 @@ COPY --from=dependencies /home/node/app/patches ./patches
 RUN pnpm --filter shared build
 
 # Build service
-FROM base AS build-service
+FROM node:20  AS build-service
+
+ARG APP_HOME=/home/node/app
+ARG SERVICE
+
+WORKDIR ${APP_HOME}
+
+RUN corepack enable
 
 COPY --from=dependencies /home/node/app/package.json /home/node/app/pnpm-lock.yaml /home/node/app/pnpm-workspace.yaml /home/node/app/tsconfig*.json /home/node/app/.swcrc ./
 COPY --from=dependencies /home/node/app/node_modules ./node_modules