FROM node:lts-alpine
RUN addgroup -S app && adduser -S app -G app

WORKDIR /app

COPY package*.json ./
RUN npm ci --omit=dev

COPY . .
ARG BUILD_VERSION=""
RUN if [ -n "$BUILD_VERSION" ]; then \
      printf 'const VERSION = "%s";\n' "$BUILD_VERSION" > js/version.js; \
    else \
      awk -F'"' '/"version"/{printf "const VERSION = \"%s\";\n", $4; exit}' \
          package.json > js/version.js; \
    fi

RUN mkdir -p /app/data && chown -R app:app /app
USER app

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