1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- FROM ubuntu:bionic
- LABEL Testrun API
- ENV PYTHONDONTWRITEBYTECODE 1
- ENV FLASK_APP "app.py"
- ENV FLASK_DEBUG True
- ENV LANG C.UTF-8
- ENV LC_ALL C.UTF-8
- RUN apt-get update && apt-get install -y \
- python3 python3-pip \
- fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 \
- libnspr4 libnss3 lsb-release xdg-utils libxss1 libdbus-glib-1-2 libgbm1 \
- curl unzip wget \
- xvfb
- # install geckodriver
- RUN GECKODRIVER_VERSION=`curl https://github.com/mozilla/geckodriver/releases/latest | grep -Po 'v[0-9]+.[0-9]+.[0-9]+'` && \
- wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
- tar -zxf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin && \
- chmod +x /usr/local/bin/geckodriver && \
- rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz
- # install firefox and chrome
- RUN FIREFOX_SETUP=firefox-setup.tar.bz2 && \
- apt-get purge firefox && \
- wget -O $FIREFOX_SETUP "https://download.mozilla.org/?product=firefox-latest&os=linux64" && \
- tar xjf $FIREFOX_SETUP -C /opt/ && \
- ln -s /opt/firefox/firefox /usr/bin/firefox && \
- rm $FIREFOX_SETUP
- RUN CHROME_SETUP=google-chrome.deb && \
- wget -O $CHROME_SETUP "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" && \
- dpkg -i $CHROME_SETUP && \
- apt-get install -y -f && \
- rm $CHROME_SETUP
- # install browsermob proxy
- RUN BROWSERMOB_SETUP=browsermob-proxy.zip && \
- wget -O $BROWSERMOB_SETUP "https://github.com/lightbody/browsermob-proxy/releases/download/browsermob-proxy-2.1.4/browsermob-proxy-2.1.4-bin.zip" && \
- unzip $BROWSERMOB_SETUP -d /opt/ && \
- rm $BROWSERMOB_SETUP
- # install java: needed by browsermob
- RUN apt-get install -y openjdk-8-jre
- # install virtual env
- RUN apt update
- RUN apt-get install -y python3.6-venv
- RUN apt-get install -y libpq-dev
- # create working directory
- RUN mkdir /baangt
- WORKDIR /baangt
- RUN pip3 install --upgrade pip
- RUN pip3 install gunicorn
- RUN pip3 install pymysql cryptography psycopg2
- #RUN pip3 install pyqt5==5.14.2
- COPY requirements.txt requirements.txt
- RUN pip3 install -r requirements.txt
- # set up baangt environment
- RUN ln -s /opt/browsermob-proxy-2.1.4 /baangt/browsermob-proxy
- RUN mkdir /baangt/browserDrivers && \
- ln -s /usr/local/bin/geckodriver /baangt/browserDrivers/geckodriver
- ADD . /baangt
- # add patches here
- #COPY DataBaseORM.py /usr/local/lib/python3.6/dist-packages/baangt/base/DataBaseORM.py
- RUN chmod +x runservice.sh
- EXPOSE 5000
- ENTRYPOINT ["./runservice.sh"]
|