2019-11-12 04:20:54 +01:00
|
|
|
ARG harbor_base_image_version
|
2020-04-01 13:46:45 +02:00
|
|
|
ARG harbor_base_namespace
|
2023-01-05 03:42:59 +01:00
|
|
|
FROM node:16.18.0 as nodeportal
|
2018-09-04 12:14:40 +02:00
|
|
|
|
2019-08-01 05:37:18 +02:00
|
|
|
WORKDIR /build_dir
|
|
|
|
|
2019-10-10 09:29:50 +02:00
|
|
|
ARG npm_registry=https://registry.npmjs.org
|
|
|
|
|
2023-02-24 07:47:42 +01:00
|
|
|
COPY ./api/v2.0/swagger.yaml /build_dir/swagger.yaml
|
2019-10-10 09:29:50 +02:00
|
|
|
COPY src/portal /build_dir
|
|
|
|
|
2020-01-15 07:04:59 +01:00
|
|
|
ENV NPM_CONFIG_REGISTRY=${npm_registry}
|
|
|
|
RUN npm install --unsafe-perm
|
2020-05-06 05:23:29 +02:00
|
|
|
RUN npm run generate-build-timestamp
|
2021-06-16 10:39:10 +02:00
|
|
|
RUN node --max_old_space_size=2048 'node_modules/@angular/cli/bin/ng' build --configuration production
|
2023-05-04 11:38:03 +02:00
|
|
|
RUN npm install js-yaml@4.1.0 \
|
|
|
|
&& node -e "const yaml = require('js-yaml'); const fs = require('fs'); const swagger = yaml.load(fs.readFileSync('swagger.yaml', 'utf8')); fs.writeFileSync('swagger.json', JSON.stringify(swagger));"
|
2020-11-11 21:18:02 +01:00
|
|
|
|
|
|
|
COPY ./LICENSE /build_dir/dist
|
2018-09-04 12:14:40 +02:00
|
|
|
|
2022-08-23 06:03:45 +02:00
|
|
|
RUN cd app-swagger-ui && npm install --unsafe-perm
|
|
|
|
RUN cd app-swagger-ui && npm run build
|
|
|
|
|
2020-04-01 13:46:45 +02:00
|
|
|
FROM ${harbor_base_namespace}/harbor-portal-base:${harbor_base_image_version}
|
2018-09-04 12:14:40 +02:00
|
|
|
|
2019-07-22 08:21:28 +02:00
|
|
|
COPY --from=nodeportal /build_dir/dist /usr/share/nginx/html
|
2023-05-09 03:27:03 +02:00
|
|
|
COPY --from=nodeportal /build_dir/swagger.json /usr/share/nginx/html
|
2022-08-23 06:03:45 +02:00
|
|
|
COPY --from=nodeportal /build_dir/app-swagger-ui/dist /usr/share/nginx/html
|
2019-07-22 08:21:28 +02:00
|
|
|
|
2018-09-04 12:14:40 +02:00
|
|
|
VOLUME /var/cache/nginx /var/log/nginx /run
|
|
|
|
|
|
|
|
STOPSIGNAL SIGQUIT
|
|
|
|
|
2021-05-13 11:16:53 +02:00
|
|
|
HEALTHCHECK CMD curl --fail -s http://localhost:8080 || curl -k --fail -s https://localhost:8443 || exit 1
|
2019-07-30 07:04:28 +02:00
|
|
|
USER nginx
|
2019-07-29 09:52:17 +02:00
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|
2018-09-04 12:14:40 +02:00
|
|
|
|