#  ============LICENSE_START===============================================
#  Copyright (C) 2020 Nordix Foundation. All rights reserved.
#  ========================================================================
#  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.
#  ============LICENSE_END=================================================
#

#Dockerfile to create an image with both python3.8 and nodejs 14
FROM python:3.8

WORKDIR /usr/src/app

#Install python modules
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

#Install nodejs and packages
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
RUN apt-get install -y nodejs
COPY package.json package.json
RUN npm install express
RUN npm install express-http-proxy

#Copy apps and start script
COPY mr.py mr.py
COPY frontend.js frontend.js
COPY start.sh start.sh

RUN chmod +x ./start.sh

CMD ["./start.sh"]