diff --git a/Dockerfile b/Dockerfile
index 714fead6ac57179f072abe8070b3ac935c2fe671..096f651c4aaafc4b63f046fb83e12c0915247649 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,4 @@
-# Base
-FROM node:20 AS base
-
+FROM node:20 AS dependencies
 ARG APP_HOME=/home/node/app
 ARG SERVICE
 
@@ -8,16 +6,20 @@ WORKDIR ${APP_HOME}
 
 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 ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./
@@ -27,11 +29,18 @@ COPY --from=dependencies ${APP_HOME}/patches ./patches
 RUN pnpm --filter shared build
 
 # Build service
-FROM base AS build-service
+FROM node:20  AS build-service
 
-COPY --from=dependencies  ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./
-COPY --from=dependencies  ${APP_HOME}/node_modules ./node_modules
-COPY --from=dependencies  ${APP_HOME}/patches ./patches
+ARG APP_HOME=/home/node/app
+ARG SERVICE
+
+WORKDIR ${APP_HOME}
+
+RUN corepack enable
+
+COPY --from=dependencies ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./
+COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules
+COPY --from=dependencies ${APP_HOME}/patches ./patches
 COPY --from=build-shared ${APP_HOME}/apps/shared ./apps/shared
 COPY apps/${SERVICE} ./apps/${SERVICE}
 RUN pnpm install --frozen-lockfile && pnpm --filter ${SERVICE} build && pnpm --filter ${SERVICE} --prod deploy build