blob: eee9416717a39a062ce14622348e4a2da800a68e [file] [log] [blame]
lombardofr7e29d162019-07-30 15:37:33 +02001# Copyright 2019 ETSI
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12# implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
garciadeblas0eb6c8b2020-10-16 11:25:57 +000016FROM ubuntu:18.04
Mike Marchetti13d76c82018-09-19 15:00:36 -040017
garciadeblas0eb6c8b2020-10-16 11:25:57 +000018#RUN apt-get update && apt-get install -y npm git python-pip nginx supervisor curl software-properties-common libssl-dev libmysqlclient-dev mysql-client
19RUN apt-get update \
20 && DEBIAN_FRONTEND=noninteractive apt-get install -y curl \
21 software-properties-common \
fonsecaj8d5ac8a2021-02-03 10:27:58 +000022 apt-transport-https \
garciadeblas0eb6c8b2020-10-16 11:25:57 +000023 git \
24 python-pip \
25 nginx \
26 supervisor \
27 libmariadbclient-dev \
28 mysql-client \
29 libssl-dev \
30 apt-utils \
fonsecaj8d5ac8a2021-02-03 10:27:58 +000031 && curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
32 && echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
33 && echo "deb-src https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
34 && apt-get update \
35 && DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
36
37RUN node -v
38RUN npm -v
garciadeblas0eb6c8b2020-10-16 11:25:57 +000039
garciadeblas3fad2ea2018-11-29 16:36:50 +010040RUN echo "daemon off;" >> /etc/nginx/nginx.conf
garciadeblas28f76d92018-11-28 14:15:04 +010041
garciadeblas3fad2ea2018-11-29 16:36:50 +010042ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian
garciadeblasfa81f282020-12-15 00:32:13 +000043ARG RELEASE=ReleaseNINE-daily
garciadeblas3fad2ea2018-11-29 16:36:50 +010044ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg
45ARG REPOSITORY=testing
46ARG LWUI_VERSION
47
garciadeblas0eb6c8b2020-10-16 11:25:57 +000048RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
garciadeblas3fad2ea2018-11-29 16:36:50 +010049RUN add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} LW-UI" && apt-get update
50
garciadeblas0eb6c8b2020-10-16 11:25:57 +000051RUN DEBIAN_FRONTEND=noninteractive apt-get install -y osm-lightui${LWUI_VERSION} \
52 && apt-get clean \
53 && rm -rf /var/lib/apt/lists/*
garciadeblas3fad2ea2018-11-29 16:36:50 +010054
55WORKDIR /usr/share/osm-lightui
garciadeblas0eb6c8b2020-10-16 11:25:57 +000056RUN npm install -g npm@latest
lombardofr8cb84422019-07-16 12:32:01 +020057RUN npm install
lombardofr7e29d162019-07-30 15:37:33 +020058RUN mv node_modules ./static
Mike Marchetti13d76c82018-09-19 15:00:36 -040059RUN pip install -r requirements.txt
60RUN pip install uwsgi
garciadeblas0ce565b2018-10-29 12:22:28 +010061RUN cp /usr/share/osm-lightui/nginx-app.conf /etc/nginx/sites-available/default
62RUN cp /usr/share/osm-lightui/supervisor-app.conf /etc/supervisor/conf.d/
Mike Marchetti13d76c82018-09-19 15:00:36 -040063
64# delete the copy of the database inside the container (if exists)
65RUN rm -f db.sqlite3
66
67ENV DJANGO_ENV=prod
David Garciaab475732020-01-08 13:22:50 +010068ENV OSM_SERVER=nbi
69# ENV OSMUI_SQL_DATABASE_URI=mysql://root:secret@mysql:3306/lwui
Mike Marchetti13d76c82018-09-19 15:00:36 -040070RUN python manage.py collectstatic --noinput
Benjamin Diazc34a5432019-05-24 11:37:22 -030071RUN chmod +x /usr/share/osm-lightui/entrypoint.sh
Mike Marchetti13d76c82018-09-19 15:00:36 -040072
73EXPOSE 80
74
Benjamin Diaz80fa8fa2019-05-24 12:27:10 -030075HEALTHCHECK --start-period=130s --interval=10s --timeout=5s --retries=12 \
76 CMD curl --silent --fail localhost:80 || exit 1
77
Benjamin Diazc34a5432019-05-24 11:37:22 -030078CMD ["/usr/share/osm-lightui/entrypoint.sh"]