treefrog.dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. FROM ubuntu:16.04
  2. RUN apt-get update
  3. # Install some common development tools
  4. RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
  5. libmysqlclient-dev libpq-dev \
  6. libpcre3 libpcre3-dev \
  7. libssl-dev libcurl4-openssl-dev \
  8. zlib1g-dev \
  9. libreadline6-dev \
  10. libbz2-dev \
  11. libxslt-dev libgdbm-dev ncurses-dev \
  12. libffi-dev libtool bison libevent-dev \
  13. libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
  14. liborc-0.4-0 libgnutls-dev \
  15. libjson0-dev libmcrypt-dev libicu-dev \
  16. re2c libnuma-dev
  17. RUN locale-gen en_US.UTF-8
  18. ENV LANG en_US.UTF-8
  19. ENV LANGUAGE en_US:en
  20. ENV LC_ALL en_US.UTF-8
  21. ENV DEBIAN_FRONTEND noninteractive
  22. ENV TFVER=1.19.0
  23. RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
  24. qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
  25. qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
  26. libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
  27. RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
  28. RUN tar xf v${TFVER}.tar.gz
  29. RUN cd treefrog-framework-${TFVER} && \
  30. ./configure && \
  31. cd src && \
  32. make -j4 && \
  33. make install && \
  34. cd ../tools && \
  35. make -j4 && \
  36. make install
  37. COPY ./ ./
  38. RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
  39. RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini
  40. # 1. Generate Makefile
  41. RUN qmake -r CONFIG+=release
  42. # 2. Compile applicaton
  43. RUN make
  44. # 3. Start TreeFrog
  45. CMD treefrog /