|
@@ -1,3 +1,72 @@
|
|
|
-FROM techempower/cppcms-base:0.1
|
|
|
+FROM ubuntu:16.04
|
|
|
+
|
|
|
+RUN apt-get update
|
|
|
+
|
|
|
+RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
|
|
|
+ libmysqlclient-dev libpq-dev \
|
|
|
+ libpcre3 libpcre3-dev \
|
|
|
+ libssl-dev libcurl4-openssl-dev \
|
|
|
+ zlib1g-dev \
|
|
|
+ libreadline6-dev \
|
|
|
+ libbz2-dev \
|
|
|
+ libxslt-dev libgdbm-dev ncurses-dev \
|
|
|
+ libffi-dev libtool bison libevent-dev \
|
|
|
+ libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
|
|
|
+ liborc-0.4-0 libgnutls-dev \
|
|
|
+ libjson0-dev libmcrypt-dev libicu-dev \
|
|
|
+ re2c libnuma-dev
|
|
|
+
|
|
|
+RUN locale-gen en_US.UTF-8
|
|
|
+ENV LANG en_US.UTF-8
|
|
|
+ENV LANGUAGE en_US:en
|
|
|
+ENV LC_ALL en_US.UTF-8
|
|
|
+ENV DEBIAN_FRONTEND noninteractive
|
|
|
+
|
|
|
+RUN apt install -yqq libgcrypt11-dev cmake python nginx
|
|
|
+
|
|
|
+WORKDIR /installs
|
|
|
+
|
|
|
+#http://cppcms.com/wikipp/en/page/cppcms_1x_build
|
|
|
+#note '-rc1' in the url
|
|
|
+ENV CPPCMS_VERSION=1.1.1
|
|
|
+ENV BACKNAME=cppcms
|
|
|
+ENV CPPCMS_HOME=/installs/$BACKNAME-$CPPCMS_VERSION
|
|
|
+ENV CPPCMSROOT=${CPPCMS_HOME}-install
|
|
|
+
|
|
|
+RUN wget -q https://download.sourceforge.net/project/cppcms/$BACKNAME/$CPPCMS_VERSION-rc1/$BACKNAME-$CPPCMS_VERSION.tar.bz2
|
|
|
+RUN tar xf $BACKNAME-$CPPCMS_VERSION.tar.bz2
|
|
|
+
|
|
|
+RUN cd $BACKNAME-$CPPCMS_VERSION && \
|
|
|
+ mkdir build && \
|
|
|
+ cd build && \
|
|
|
+ cmake -DCMAKE_INSTALL_PREFIX=${CPPCMSROOT} .. && \
|
|
|
+ make && make install
|
|
|
+
|
|
|
+ENV CPPCMS_HOME=${CPPCMSROOT}
|
|
|
+
|
|
|
+ENV CPPDB_VERSION=0.3.1
|
|
|
+ENV BACKNAME=cppdb
|
|
|
+ENV CPPDB_HOME=/installs/$BACKNAME-$CPPDB_VERSION
|
|
|
+ENV CPPDBROOT=${CPPDB_HOME}-install
|
|
|
+
|
|
|
+RUN wget -q https://download.sourceforge.net/project/cppcms/$BACKNAME/$CPPDB_VERSION/$BACKNAME-$CPPDB_VERSION.tar.bz2
|
|
|
+RUN tar xf $BACKNAME-$CPPDB_VERSION.tar.bz2
|
|
|
+
|
|
|
+RUN cd $BACKNAME-$CPPDB_VERSION && \
|
|
|
+ mkdir build && cd build && \
|
|
|
+ cmake -DCMAKE_INSTALL_PREFIX=${CPPDBROOT} .. && \
|
|
|
+ make && make install
|
|
|
+
|
|
|
+ENV CPPDB_HOME=${CPPDBROOT}
|
|
|
+
|
|
|
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CPPCMS_HOME}/lib:${CPPDB_HOME}/lib
|
|
|
+
|
|
|
+WORKDIR /cppcms
|
|
|
+COPY src src
|
|
|
+COPY config-nginx-postgresql.json config-nginx-postgresql.json
|
|
|
+COPY Makefile Makefile
|
|
|
+COPY nginx.conf nginx.conf
|
|
|
+
|
|
|
+RUN make
|
|
|
|
|
|
CMD nginx -c /cppcms/nginx.conf && ./mycppcms -c config-nginx-postgresql.json
|