1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- FROM ubuntu:focal
- LABEL Testrun API
- ENV PYTHONDONTWRITEBYTECODE 1
- ENV DEBIAN_FRONTEND noninteractive
- RUN apt-get update && apt-get install -y \
- python3.8 python3-pip python3.8-venv libpq-dev \
- fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 \
- libnspr4 libnss3 lsb-release xdg-utils libxss1 libdbus-glib-1-2 libgbm1 \
- openjdk-8-jre \
- curl wget
- # 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
- 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
- # install chrome
- 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 apt-get install -y unzip
- 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
- # create working directory
- RUN mkdir /baangt
- WORKDIR /baangt
- # 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
- # create virtual env
- RUN pip3 install virtualenv && virtualenv venv
- RUN venv/bin/pip install --upgrade pip
- # install prod requirements
- RUN venv/bin/pip install gunicorn pymysql cryptography psycopg2
- # install package requirements
- COPY requirements.txt requirements.txt
- RUN venv/bin/pip install -r requirements.txt
- RUN venv/bin/pip install xlsclone
- # copy package
- ADD . /baangt
- RUN chmod +x runservice.sh runservice.rq.sh runservice.dev.sh
- # add patches here
- COPY patch/DataBaseORM.py /baangt/venv/lib/python3.8/site-packages/baangt/base/DataBaseORM.py
- EXPOSE 5000
- ENTRYPOINT ["./runservice.sh"]
|