X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=docker%2Flight-ui%2FDockerfile;h=056ed8c538043be315a60c051eaf42ee9067cf7f;hb=988b7868af92877714dab49ff9d877f55569d39e;hp=bfcc9e29d456e5c58ab84bf54a3a53acaaeb9bf4;hpb=3906af13d3b86b5602c4c69c9b12f45f71a652cd;p=osm%2Fdevops.git diff --git a/docker/light-ui/Dockerfile b/docker/light-ui/Dockerfile index bfcc9e29..056ed8c5 100644 --- a/docker/light-ui/Dockerfile +++ b/docker/light-ui/Dockerfile @@ -1,24 +1,61 @@ -FROM ubuntu:16.04 +# Copyright 2019 ETSI +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM ubuntu:18.04 + +#RUN apt-get update && apt-get install -y npm git python-pip nginx supervisor curl software-properties-common libssl-dev libmysqlclient-dev mysql-client +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y curl \ + software-properties-common \ + apt-transport-https \ + git \ + python-pip \ + nginx \ + supervisor \ + libmariadbclient-dev \ + mysql-client \ + libssl-dev \ + apt-utils \ + && curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ + && echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs + +RUN node -v +RUN npm -v -RUN apt-get update && apt-get install -y npm git python-pip nginx supervisor curl software-properties-common libmysqlclient-dev mysql-client -RUN npm install -g bower -RUN ln -s /usr/bin/nodejs /usr/bin/node RUN echo "daemon off;" >> /etc/nginx/nginx.conf ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian -ARG RELEASE=ReleaseFOUR-daily +ARG RELEASE=ReleaseEIGHT-daily ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg ARG REPOSITORY=testing ARG LWUI_VERSION -RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | apt-key add - +RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - RUN add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} LW-UI" && apt-get update -RUN apt-get install -y osm-lightui${LWUI_VERSION} && \ - rm -rf /var/lib/apt/lists/* +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y osm-lightui${LWUI_VERSION} \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* WORKDIR /usr/share/osm-lightui -RUN bower install --allow-root +RUN npm install -g npm@latest +RUN npm install +RUN mv node_modules ./static RUN pip install -r requirements.txt RUN pip install uwsgi RUN cp /usr/share/osm-lightui/nginx-app.conf /etc/nginx/sites-available/default @@ -28,14 +65,14 @@ RUN cp /usr/share/osm-lightui/supervisor-app.conf /etc/supervisor/conf.d/ RUN rm -f db.sqlite3 ENV DJANGO_ENV=prod -RUN python manage.py makemigrations authosm -RUN python manage.py migrate +ENV OSM_SERVER=nbi +# ENV OSMUI_SQL_DATABASE_URI=mysql://root:secret@mysql:3306/lwui RUN python manage.py collectstatic --noinput - +RUN chmod +x /usr/share/osm-lightui/entrypoint.sh EXPOSE 80 HEALTHCHECK --start-period=130s --interval=10s --timeout=5s --retries=12 \ CMD curl --silent --fail localhost:80 || exit 1 -CMD ["supervisord", "-n"] +CMD ["/usr/share/osm-lightui/entrypoint.sh"]