FROM node:21 AS base

FROM base AS builder
RUN corepack enable
RUN yarn set version canary
RUN yarn config set nodeLinker node-modules

WORKDIR /app

COPY .gitignore .gitignore
COPY package.json ./
COPY yarn.lock ./
RUN yarn install --immutable

COPY . .

RUN yarn build

FROM base AS runner
WORKDIR /app

# Don't run production as root
RUN addgroup --system --gid 1001 fixbluesky
RUN adduser --system --uid 1001 fixbluesky
USER fixbluesky
COPY --from=builder /app .

CMD node ./dist/main.js
