# syntax=docker/dockerfile:1.7
ARG NODE_VERSION=22.23.2-alpine3.24
FROM node:${NODE_VERSION} AS build
RUN corepack enable && corepack prepare pnpm@10.13.1 --activate
WORKDIR /app
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml tsconfig.base.json ./
COPY apps/channel-ingress/package.json apps/channel-ingress/
RUN pnpm install --frozen-lockfile
COPY apps/channel-ingress/ apps/channel-ingress/
RUN pnpm --filter @pac/channel-ingress build

FROM node:${NODE_VERSION} AS prod
ENV NODE_ENV=production TZ=UTC
WORKDIR /app
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/apps/channel-ingress/node_modules ./apps/channel-ingress/node_modules
COPY --from=build /app/apps/channel-ingress/dist ./apps/channel-ingress/dist
WORKDIR /app/apps/channel-ingress
USER node
EXPOSE 3106
CMD ["node", "--enable-source-maps", "dist/main.js"]
