FROM node:22-alpine AS builder WORKDIR /app COPY package.json yarn.lock ./ RUN yarn install --frozen-lockfile COPY tsconfig.json ./ COPY src ./src RUN yarn build FROM node:22-alpine WORKDIR /app COPY package.json yarn.lock ./ RUN yarn install --frozen-lockfile --production COPY --from=builder /app/dist ./dist COPY src/public ./dist/public EXPOSE 3000 CMD ["node", "dist/index.js"]