FROM node:20-alpine
WORKDIR /app
RUN apk add --no-cache git
RUN npm install -g pnpm@9
COPY . .
RUN pnpm install --frozen-lockfile
RUN pnpm --filter @rps-royale/shared build

ARG NEXT_PUBLIC_API_URL
ARG NEXT_PUBLIC_CONTRACT_ADDRESS
ARG NEXT_PUBLIC_CHAIN_ID
ARG NEXT_PUBLIC_HARDHAT_RPC_URL
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
ENV NEXT_PUBLIC_CONTRACT_ADDRESS=${NEXT_PUBLIC_CONTRACT_ADDRESS}
ENV NEXT_PUBLIC_CHAIN_ID=${NEXT_PUBLIC_CHAIN_ID}
ENV NEXT_PUBLIC_HARDHAT_RPC_URL=${NEXT_PUBLIC_HARDHAT_RPC_URL}

RUN pnpm --filter @rps-royale/web build
ENV NODE_ENV=production
EXPOSE 3000
CMD ["pnpm", "--filter", "@rps-royale/web", "start"]
