RehanRaza | f9523c1 | 2021-01-08 17:54:16 +0100 | [diff] [blame] | 1 | # ============LICENSE_START=============================================== |
| 2 | # Copyright (C) 2020 Nordix Foundation. All rights reserved. |
| 3 | # ======================================================================== |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # ============LICENSE_END================================================= |
| 16 | # |
| 17 | ### STAGE 1: Build App ### |
| 18 | FROM node:14-alpine AS stage1 |
| 19 | WORKDIR /usr/src/app |
ecaiyanlinux | ac52ed8 | 2021-02-23 13:48:13 +0100 | [diff] [blame] | 20 | COPY package.json ./ |
RehanRaza | f9523c1 | 2021-01-08 17:54:16 +0100 | [diff] [blame] | 21 | RUN npm install |
| 22 | COPY . . |
ecaiyanlinux | ac52ed8 | 2021-02-23 13:48:13 +0100 | [diff] [blame] | 23 | |
| 24 | # RUN karma test |
| 25 | RUN apk update |
| 26 | RUN apk add chromium |
| 27 | RUN export CHROME_BIN=/usr/bin/chromium-browser |
| 28 | ENV CHROME_BIN /usr/bin/chromium-browser |
| 29 | RUN ./ng test --browsers ChromeHeadless --code-coverage=true --watch=false |
| 30 | |
elinuxhenrik | 75f920d | 2021-06-04 15:45:41 +0200 | [diff] [blame] | 31 | RUN npm run-script build:prod |
RehanRaza | f9523c1 | 2021-01-08 17:54:16 +0100 | [diff] [blame] | 32 | |
| 33 | ### STAGE 2: Run App ### |
| 34 | FROM nginx:alpine |
| 35 | COPY nginx.conf /etc/nginx/nginx.conf |
ecaiyanlinux | 1925d02 | 2022-01-26 13:44:54 +0100 | [diff] [blame^] | 36 | |
| 37 | ## use build-in nginx user |
| 38 | ARG user=nginx |
| 39 | |
| 40 | ## change ownership of nginx config files |
| 41 | RUN chown -R $user /var/log/nginx |
| 42 | RUN chown -R $user /etc/nginx/conf.d |
| 43 | RUN chown -R $user /var/cache/nginx/ |
| 44 | RUN touch /var/run/nginx.pid |
| 45 | RUN chown -R $user /var/run/nginx.pid |
| 46 | |
| 47 | USER ${user} |
| 48 | |
| 49 | COPY --chown=$user --from=stage1 /usr/src/app/dist/controlpanelApp /usr/share/nginx/html |