# The main purpose of this Dockerfile is to install the `pnpm` package manager in the official Node.js image
# and use an init script as the entrypoint of a custom image to build and run the documentation site.
FROM node:lts-slim@sha256:e8e2e91b1378f83c5b2dd15f0247f34110e2fe895f6ca7719dbb780f929368eb

EXPOSE 8080/tcp
SHELL [ "bash", "-c" ]
ENTRYPOINT [ "./container-init.sh" ]

ENV CI="true"

# renovate: datasource=npm depName=pnpm
ENV PNPM_VERSION="10.28.2"

RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get --assume-yes upgrade \
&& rm --recursive --force /var/lib/apt/lists/*

RUN npm install --global pnpm@${PNPM_VERSION}

USER node
WORKDIR /docs
