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"]

