ARG NODE_IMAGE_VERSION=23-alpine
FROM node:${NODE_IMAGE_VERSION}

ARG VERSION

WORKDIR /opt/app

RUN chown -R node:node /opt/app

# Allow node to bind to port 80
RUN apk update && apk add libcap

USER node

RUN wget https://github.com/lovasoa/whitebophir/archive/refs/tags/v${VERSION}.tar.gz -O artifact.tar.gz \
    && tar --strip-components=1 -xvzf artifact.tar.gz \
    && rm artifact.tar.gz

RUN wget https://github.com/H2-invent/materialWhitebophir/archive/master.tar.gz -O artifact.tar.gz \
    && tar --strip-components=1 -xvzf artifact.tar.gz \
    && mv fonts client-data/fonts/ \
    && mv css/board.css client-data/board.css \
    && rm artifact.tar.gz

RUN npm ci --production

EXPOSE 3000

CMD ["node", "server/server.js"]