treefrog-postgres.dockerfile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. FROM buildpack-deps:focal
  2. ENV DEBIAN_FRONTEND noninteractive
  3. ENV DEBCONF_NOWARNINGS yes
  4. ENV TFVER=1.31.1
  5. RUN apt-get update -yqq && apt-get upgrade -yq && apt-get install -yqq --no-install-recommends \
  6. software-properties-common unzip wget make cmake gcc clang libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
  7. qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
  8. qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
  9. libqt5widgets5 libqt5opengl5-dev libqt5quicktest5 libqt5sql5-sqlite libsqlite3-dev libmongoc-dev libbson-dev \
  10. redis-server
  11. WORKDIR /usr/src
  12. RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
  13. RUN tar xf v${TFVER}.tar.gz
  14. RUN cd treefrog-framework-${TFVER} && \
  15. ./configure --spec=linux-clang && \
  16. cd src && \
  17. make -j4 && \
  18. make install && \
  19. cd ../tools && \
  20. make -j4 && \
  21. make install
  22. WORKDIR /workspace
  23. COPY ./ ./
  24. # 1. Generate Makefile
  25. RUN qmake -r CONFIG+=release -spec linux-clang
  26. # 2. Compile applicaton
  27. RUN make
  28. RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
  29. RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini
  30. EXPOSE 8080
  31. # 3. Start TreeFrog
  32. CMD service redis-server start && \
  33. treefrog /workspace