FROM node:22-alpine AS base WORKDIR /app FROM base AS deps COPY package.json package-lock.json* ./ RUN npm install FROM base AS build COPY --from=deps /app/node_modules ./node_modules COPY tsconfig.json ./ COPY src ./src RUN npx tsc -p tsconfig.json FROM base AS runtime ENV NODE_ENV=production COPY --from=deps /app/node_modules ./node_modules COPY --from=build /app/dist ./dist COPY package.json ./ EXPOSE 4000 CMD ["node", "dist/index.js"]