treefrog-mongodb.dockerfile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. FROM buildpack-deps:jammy
  2. ENV DEBIAN_FRONTEND noninteractive
  3. ENV DEBCONF_NOWARNINGS yes
  4. ENV TFVER=2.6.0
  5. RUN apt-get update -yqq && apt-get upgrade -yq && \
  6. apt-get install -yqq --no-install-recommends software-properties-common unzip wget libjemalloc-dev \
  7. qmake6 qt6-base-dev qt6-base-dev-tools qt6-tools-dev-tools qt6-declarative-dev libqt6sql6-mysql \
  8. libqt6sql6-psql libqt6sql6-odbc libqt6sql6-sqlite libqt6core6 libqt6qml6 libqt6xml6 libpq5 libodbc1 \
  9. libmongoc-dev libbson-dev gcc g++ clang make cmake pkg-config
  10. RUN rm -f /usr/bin/qmake; ln -sf /usr/bin/qmake6 /usr/bin/qmake
  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 --enable-shared-mongoc --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 treefrog /workspace