X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=docker%2FNG-UI%2FDockerfile;h=628e3daf3b4b1e1d978ed2b12afd572b1e87a1fe;hb=ecc48d92ff04fceca0b31c65a294cfbe7091056b;hp=15e837f46ac83a79d0d78e97995306a10c8ec482;hpb=fa81f28edaf5962fbc034ddcf783c4298573500b;p=osm%2Fdevops.git diff --git a/docker/NG-UI/Dockerfile b/docker/NG-UI/Dockerfile index 15e837f4..628e3daf 100644 --- a/docker/NG-UI/Dockerfile +++ b/docker/NG-UI/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2020 ETSI +####################################################################################### +# Copyright ETSI Contributors and Others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,41 +13,66 @@ # implied. # See the License for the specific language governing permissions and # limitations under the License. +####################################################################################### -FROM ubuntu:18.04 +FROM ubuntu:22.04 as INSTALL -RUN apt-get update && apt-get install -y curl xz-utils gnupg2 \ - && apt-get update && apt-get install -y apt-transport-https software-properties-common \ - && curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_10.x xenial main" | tee -a /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_10.x xenial main" | tee -a /etc/apt/sources.list.d/nodesource.list \ - && apt-get update && apt-get install -y nodejs \ - && apt-get install -y nginx +ARG APT_PROXY +RUN if [ ! -z $APT_PROXY ] ; then \ + echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\ + echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\ + fi -ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian -ARG RELEASE=ReleaseNINE-daily -ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg -ARG REPOSITORY=testing -ARG NGUI_VERSION +RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \ + DEBIAN_FRONTEND=noninteractive apt-get --yes install \ + apt-transport-https=2.4.* \ + curl=7.81.* \ + gnupg2=2.2.* \ + nginx=1.18.* \ + software-properties-common=0.99.* \ + xz-utils=5.2.* \ + && rm -rf /var/lib/apt/lists/* -RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | apt-key add - -RUN add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} NG-UI" && apt-get update +RUN curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ + echo "deb https://deb.nodesource.com/node_14.x jammy main" | tee -a /etc/apt/sources.list.d/nodesource.list && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs -RUN apt-get install -y osm-ngui${NGUI_VERSION} && \ - rm -rf /var/lib/apt/lists/* +ARG OSM_NGUI_URL + +RUN curl $OSM_NGUI_URL -o osm_ngui.deb +RUN dpkg -i ./osm_ngui.deb WORKDIR /usr/share/osm-ngui RUN npm install # Building app. RUN npm run build -RUN cp /usr/share/osm-ngui/nginx/nginx.conf /etc/nginx/sites-available/default + +####################################################################################### +FROM ubuntu:22.04 AS FINAL + +ARG APT_PROXY +RUN if [ ! -z $APT_PROXY ] ; then \ + echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\ + echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\ + fi + +RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \ + DEBIAN_FRONTEND=noninteractive apt-get --yes install \ + nginx=1.18.* && \ + rm -rf /var/lib/apt/lists/* + +RUN rm -f /etc/apt/apt.conf.d/proxy.conf # Removing the Nginx default page. RUN rm -rf /usr/share/nginx/html/* +# Copying Nginx configuration +COPY --from=INSTALL /usr/share/osm-ngui/nginx/nginx.conf /etc/nginx/sites-available/default + # Copying angular build to Nginx default page. -RUN cp -r /usr/share/osm-ngui/dist/osm/* /usr/share/nginx/html +COPY --from=INSTALL /usr/share/osm-ngui/dist/osm /usr/share/nginx/html EXPOSE 80 @@ -55,4 +81,3 @@ HEALTHCHECK --start-period=130s --interval=10s --timeout=5s --retries=12 \ # Starting server. CMD ["nginx", "-g", "daemon off;"] -