# --- build stage: compile TypeScript -> dist ------------------------------ FROM node:22-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # --- runtime stage: prod deps only ----------------------------------------- FROM node:22-alpine AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ RUN npm ci --omit=dev COPY --from=build /app/dist ./dist COPY --from=build /app/drizzle ./drizzle EXPOSE 4000 # Apply migrations, then start the API. CMD ["sh", "-c", "node dist/migrate.js && node dist/index.js"]