FROM node:22-slim AS deps WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci FROM node:22-slim AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . RUN npm run build FROM node:22-slim AS runner WORKDIR /app ENV NODE_ENV=production ENV HOST=0.0.0.0 ENV PORT=7860 COPY --from=builder /app/package.json /app/package-lock.json ./ COPY --from=builder /app/scripts ./scripts COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/dist ./dist COPY --from=builder /app/src ./src COPY --from=builder /app/vite.config.ts ./vite.config.ts COPY --from=builder /app/tsconfig.json ./tsconfig.json COPY --from=builder /app/wrangler.jsonc ./wrangler.jsonc EXPOSE 7860 CMD ["npm", "run", "start"]