2019-11-12 04:20:54 +01:00
|
|
|
ARG harbor_base_image_version
|
2019-03-27 03:47:07 +01:00
|
|
|
FROM node:10.15.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
|
|
|
|
|
2019-12-06 04:45:48 +01:00
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -y --no-install-recommends python-yaml=3.12-1
|
|
|
|
|
2019-10-10 09:29:50 +02:00
|
|
|
COPY src/portal/package.json /build_dir
|
|
|
|
COPY src/portal/package-lock.json /build_dir
|
2020-01-15 07:04:59 +01:00
|
|
|
COPY src/portal/scripts /build_dir
|
2020-02-07 08:04:25 +01:00
|
|
|
COPY ./api/v2.0/legacy_swagger.yaml /build_dir/swagger.yaml
|
2020-01-15 07:04:59 +01:00
|
|
|
COPY ./api/v2.0/swagger.yaml /build_dir/swagger2.yaml
|
|
|
|
|
2019-12-06 04:45:48 +01:00
|
|
|
RUN python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y)' < swagger.yaml > swagger.json
|
2020-02-27 08:09:11 +01:00
|
|
|
RUN python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y)' < swagger2.yaml > swagger2.json
|
2019-10-10 09:29:50 +02:00
|
|
|
|
|
|
|
COPY ./LICENSE /build_dir
|
|
|
|
COPY src/portal /build_dir
|
|
|
|
|
2020-01-15 07:04:59 +01:00
|
|
|
ENV NPM_CONFIG_REGISTRY=${npm_registry}
|
|
|
|
RUN npm install --unsafe-perm
|
2019-11-25 10:48:51 +01:00
|
|
|
RUN node --max_old_space_size=2048 'node_modules/@angular/cli/bin/ng' build --prod
|
2018-09-04 12:14:40 +02:00
|
|
|
|
2019-11-11 11:56:36 +01:00
|
|
|
FROM goharbor/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
|
|
|
|
COPY --from=nodeportal /build_dir/swagger.yaml /usr/share/nginx/html
|
|
|
|
COPY --from=nodeportal /build_dir/swagger.json /usr/share/nginx/html
|
2020-02-27 08:09:11 +01:00
|
|
|
COPY --from=nodeportal /build_dir/swagger2.json /usr/share/nginx/html
|
2019-08-05 08:20:03 +02:00
|
|
|
COPY --from=nodeportal /build_dir/LICENSE /usr/share/nginx/html
|
2019-07-22 08:21:28 +02:00
|
|
|
|
|
|
|
COPY make/photon/portal/nginx.conf /etc/nginx/nginx.conf
|
|
|
|
|
2019-08-01 10:02:08 +02:00
|
|
|
EXPOSE 8080
|
2018-09-04 12:14:40 +02:00
|
|
|
VOLUME /var/cache/nginx /var/log/nginx /run
|
|
|
|
|
|
|
|
STOPSIGNAL SIGQUIT
|
|
|
|
|
2019-07-22 08:21:28 +02:00
|
|
|
HEALTHCHECK CMD curl --fail -s http://127.0.0.1:8080 || 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
|
|
|
|