# Stage 1: Build FROM node:22-alpine AS builder WORKDIR /app # Install dependencies COPY package.json pnpm-lock.yaml* ./ RUN npm install -g pnpm@10.6.5 RUN pnpm install # Copy source COPY package.json tsconfig.json ./ COPY src ./src # Skip TypeScript build for now # RUN pnpm add -D typescript && pnpm build # Stage 2: Run FROM node:22-alpine AS runner WORKDIR /app # Install dependencies COPY package.json pnpm-lock.yaml* ./ RUN npm install -g pnpm@10.6.5 RUN pnpm install --prod --ignore-scripts RUN npm install -g tsx RUN apk add --no-cache curl # Copy source COPY package.json tsconfig.json ./ COPY src ./src # Set environment ENV NODE_ENV=production ENV PORT=4004 EXPOSE 4004 CMD ["tsx", "src/server.js"]