# syntax=docker/dockerfile:1.7

# Build from the monorepo root context so this image can use:
# - apps/web
# - packages/contracts
FROM node:20-alpine AS base
WORKDIR /workspace
RUN corepack enable

FROM base AS deps
COPY package.json yarn.lock .yarnrc.yml ./
COPY .yarn/ ./.yarn/
COPY apps/web/package.json ./apps/web/package.json
COPY packages/contracts/package.json ./packages/contracts/package.json
RUN YARN_NODE_LINKER=node-modules yarn install --immutable

FROM deps AS build
COPY apps/web ./apps/web
COPY packages/contracts ./packages/contracts
RUN yarn workspace web build

FROM nginx:1.27-alpine AS runtime
COPY --from=build /workspace/apps/web/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
