FROM node:20-alpine

WORKDIR /app

# Skip browser downloads
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
ENV CYPRESS_INSTALL_BINARY=0

# Install build dependencies
RUN apk add --no-cache python3 make g++

# Copy package files
COPY package*.json ./
RUN npm ci --legacy-peer-deps

# Copy all source files
COPY . .

# Create env file
RUN echo "GATEWAY_URL=http://localhost:9100" > .env

# Build
ENV NODE_OPTIONS="--max-old-space-size=4096"
RUN npm run build

ENV PORT=9202
ENV HOST=0.0.0.0

EXPOSE 9102

CMD ["node", ".output/server/index.mjs"]
