ARG         AWS_ACCOUNT=086679231553

FROM        ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:node24 AS base
# Copy app and install production dependencies
WORKDIR     /var/app
COPY    scripts/setup.sh .npmrc.shadow package.json yarn.lock tsconfig.json tsconfig.build.json ./
USER        root

RUN     --mount=type=secret,id=github_token,uid=1000,required ./setup.sh true

FROM        base AS build
WORKDIR     /var/app
COPY        src ./src
RUN         --mount=type=secret,id=github_token,uid=1000,required ./setup.sh false \
             && yarn build

FROM        ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:node24 AS runner
WORKDIR     /var/app
# Copy production dependencies
COPY        --from=base --chown=node:node /var/app/node_modules ./node_modules
# Copy build
COPY        --from=build --chown=node:node /var/app/build ./

USER        node
CMD         ["node", "app.fargate.js"]
