# syntax=docker/dockerfile:1.7
FROM node:24-bookworm-slim AS build
ENV PNPM_HOME=/pnpm
ENV PATH=$PNPM_HOME:$PATH
RUN apt-get update && \
    apt-get install -y --no-install-recommends openssl && \
    rm -rf /var/lib/apt/lists/* && \
    corepack enable
WORKDIR /app
COPY . .
RUN --mount=type=cache,id=capila-pnpm-store,target=/pnpm/store \
    pnpm config set store-dir /pnpm/store && \
    pnpm install --frozen-lockfile
RUN pnpm build

FROM node:24-bookworm-slim AS runtime
ARG INSTALL_FFMPEG=false
ENV NODE_ENV=production
ENV PNPM_HOME=/pnpm
ENV PATH=$PNPM_HOME:$PATH
RUN apt-get update && \
    apt-get install -y --no-install-recommends openssl && \
    if [ "$INSTALL_FFMPEG" = "true" ]; then \
      apt-get install -y --no-install-recommends ffmpeg; \
    fi && \
    rm -rf /var/lib/apt/lists/* && \
    corepack enable
WORKDIR /app
COPY --from=build /app /app
USER node
