# 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:0afb7822fac7bf9d7c1bf3b6e6c496dee6b2b64d8dfa365501a3c68e8eba94b2

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

ENV CI="true"

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

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
