cutelyst-nginx-my.dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. FROM ubuntu:16.04
  2. RUN apt update
  3. RUN apt install -yqq software-properties-common build-essential curl locales wget unzip git \
  4. libmysqlclient-dev libpq-dev \
  5. libpcre3 libpcre3-dev \
  6. libssl-dev libcurl4-openssl-dev \
  7. zlib1g-dev \
  8. libreadline6-dev \
  9. libbz2-dev \
  10. libxslt-dev libgdbm-dev ncurses-dev \
  11. libffi-dev libtool bison libevent-dev \
  12. libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
  13. liborc-0.4-0 libgnutls-dev \
  14. libjson0-dev libmcrypt-dev libicu-dev \
  15. re2c libnuma-dev
  16. RUN locale-gen en_US.UTF-8
  17. ENV LANG en_US.UTF-8
  18. ENV LANGUAGE en_US:en
  19. ENV LC_ALL en_US.UTF-8
  20. ENV DEBIAN_FRONTEND noninteractive
  21. ENV TROOT /cutelyst-benchmark-app
  22. ENV CUTELYST_APP ${TROOT}/build/libcutelyst_benchmarks.so
  23. COPY src ${TROOT}/
  24. COPY build.sh .
  25. RUN ./build.sh
  26. COPY config/config.ini /cutelyst.ini
  27. COPY config/config_socket.ini /cutelyst_socket.ini
  28. COPY nginx.conf /nginx.conf
  29. RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=tfb-database|g" /cutelyst.ini
  30. RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=tfb-database|g" /cutelyst_socket.ini
  31. RUN sed -i "s|SendDate=.*|SendDate=false|g" /cutelyst_socket.ini
  32. ENV C_THREADS 1
  33. ENV CPU_AFFINITY 1
  34. ENV DRIVER QMYSQL
  35. RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst_socket.ini
  36. CMD nginx -c /nginx.conf && uwsgi \
  37. --ini /cutelyst_socket.ini \
  38. --plugin /usr/lib/uwsgi/plugins/cutelyst2_plugin.so \
  39. --cutelyst-app ${CUTELYST_APP} \
  40. --processes=$(nproc) \
  41. --threads=${C_THREADS} \
  42. --cpu-affinity=${CPU_AFFINITY} \
  43. --reuse-port