FROM public.ecr.aws/docker/library/node:24 AS builder
RUN npm install -g typescript@5.4.5
RUN yarn config set registry https://registry.npmjs.org

WORKDIR /app

COPY . .

RUN rm -rf /app/dlob-server/drift-common && \
    cp -a /app/_tmp/trade-drift-dlob-main-20260313/drift-common /app/dlob-server/drift-common

WORKDIR /app/dlob-server/drift-common/protocol/sdk
RUN yarn && yarn build

WORKDIR /app/dlob-server/drift-common/common-ts
RUN yarn && yarn build

WORKDIR /app/dlob-server
RUN yarn && yarn build

FROM public.ecr.aws/docker/library/node:24-alpine
RUN apk add python3 make g++ --virtual .build &&\
    npm install -C /lib bigint-buffer @triton-one/yellowstone-grpc@1.3.0 helius-laserstream@0.1.8 rpc-websockets@7.5.1 &&\
    apk del .build
    
COPY --from=builder /app/dlob-server/lib/ ./lib/

ENV NODE_ENV=production
EXPOSE 9464
