rps-royale/apps/web/Dockerfile
Ubuntu 419ed6eef0 fix(web): correct Phaser rendering and Socket.io API URL for Docker
- Rewrite /play page to use direct dynamic import inside useEffect
  instead of next/dynamic (fixes BAILOUT_TO_CLIENT_SIDE_RENDERING)
- Fix Phaser 3.86 particle API: use direct property assignment
  instead of setFrequency/setLifespan
- Add AI match detection and skip blockchain calls for AI opponents
- Pass NEXT_PUBLIC_* build args via Dockerfile/docker-compose
  so the built client points to the correct API endpoint
- Remove obsolete PlayClient.tsx

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 04:40:39 +00:00

21 lines
642 B
Docker

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