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"]