FROM node:lts-bookworm-slim AS build ENV PNPM_HOME=/usr/local/bin WORKDIR /opt/michess/ COPY . . ARG NEXT_PUBLIC_API_URL=http://localhost:3001 ARG NEXT_PUBLIC_APP_URL=http://localhost:3000 ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL ENV NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL RUN corepack enable && \ corepack prepare pnpm@9.15.9 --activate && \ pnpm config set store-dir /opt/michess/.pnpm-store && \ pnpm install --no-frozen-lockfile && \ pnpm build:server && \ pnpm build:client && \ rm -rf node_modules client/node_modules server/node_modules types/node_modules && \ pnpm install --prod --no-frozen-lockfile && \ pnpm store prune && \ rm -rf \ /opt/michess/.pnpm-store \ /root/.cache \ /tmp/* \ client/.next/cache \ client/src \ server/src \ .git \ .github \ .gitea FROM node:lts-bookworm-slim RUN apt-get update && \ apt-get install -y --no-install-recommends stockfish && \ rm -rf /var/lib/apt/lists/* ENV NODE_ENV=production ENV PNPM_HOME=/usr/local/bin WORKDIR /opt/michess/ COPY --from=build /opt/michess/ ./ RUN corepack enable && corepack prepare pnpm@9.15.9 --activate EXPOSE 3000 3001 CMD ["node", "scripts/start-production.mjs"]