# SPDX-License-Identifier: MulanPSL-2.0+
# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.

FROM node:lts-alpine3.16 as Builder

MAINTAINER Wang Lin

RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com|g' /etc/apk/repositories

RUN apk update && \
    apk upgrade

COPY cbs-web /opt/cbs-web
WORKDIR /opt/cbs-web

RUN npm i --legacy-peer-deps --registry=https://mirrors.huaweicloud.com/repository/npm/ && \
    npm install && \
    npm install -g npm@9.6.6 && \
    npm run build

FROM nginx:1.22.1-alpine3.17

COPY cbs-web/root /

RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com|g' /etc/apk/repositories

RUN apk update && \
    apk upgrade

COPY --from=Builder /opt/cbs-web/dist /usr/share/nginx/html/
RUN chmod -R 755 /usr/share/nginx/html

ENV RUN_USER nginx
ENV RUN_GROUP nginx

RUN chown -R nginx:nginx /sbin /etc /var/cache/nginx

RUN chown nginx:nginx /var/run

ENTRYPOINT ["/sbin/entrypoint.sh"]
