FROM node:18-alpine WORKDIR /app # Copy package files COPY package*.json ./ COPY tsconfig.json ./ # Install pnpm RUN npm install -g pnpm # Install dependencies RUN pnpm install --frozen-lockfile # Copy source files COPY src/ ./src/ COPY ../../packages/openapi/v1/openapi.yaml ./packages/openapi/v1/openapi.yaml COPY static/ ./static/ # Build RUN pnpm run build # Expose port EXPOSE 8080 # Start server CMD ["pnpm", "start"]