12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- FROM ubuntu:16.04
- COPY ./ ./
- RUN apt update && \
- apt install -yqq autoconf bison cmake curl file flex g++ git libnuma-dev libpq-dev libssl-dev \
- libtool make wget
- ### Install mustache-c
- ENV MUSTACHE_C_BUILD_DIR=mustache-c
- ENV MUSTACHE_C_HOME=/mustache-c
- RUN git clone "https://github.com/x86-64/mustache-c.git" "$MUSTACHE_C_BUILD_DIR" && \
- cd "$MUSTACHE_C_BUILD_DIR" && \
- git checkout 01f1e4732c4862071bbf07242128abf1e28cc105 && \
- CFLAGS="-O3 -flto -march=native" ./autogen.sh --prefix="$MUSTACHE_C_HOME" && \
- make -j "$(nproc)" install
- ENV LD_LIBRARY_PATH="${MUSTACHE_C_HOME}/lib:$LD_LIBRARY_PATH"
- ### Install yajl
- ENV YAJL_VERSION=2.1.0
- ENV YAJL_ARCHIVE="${YAJL_VERSION}.tar.gz"
- ENV YAJL_HOME=/yajl
- RUN wget -qO "$YAJL_ARCHIVE" "https://github.com/lloyd/yajl/archive/$YAJL_ARCHIVE" && \
- tar xf "$YAJL_ARCHIVE" && \
- cd "yajl-$YAJL_VERSION" && \
- ./configure -p "$YAJL_HOME" && \
- make -j "$(nproc)" install
- ENV LD_LIBRARY_PATH="${YAJL_HOME}/lib:$LD_LIBRARY_PATH"
- ### Install h2o
- ENV H2O_VERSION=2.2.4
- ENV H2O_ARCHIVE="v${H2O_VERSION}.tar.gz"
- ENV H2O_HOME=/h2o
- RUN wget -qO "$H2O_ARCHIVE" "https://github.com/h2o/h2o/archive/$H2O_ARCHIVE" && \
- tar xf "$H2O_ARCHIVE" && \
- cd "h2o-$H2O_VERSION" && \
- cmake -DCMAKE_INSTALL_PREFIX="$H2O_HOME" -DCMAKE_C_FLAGS="-flto -march=native" \
- -DCMAKE_AR=/usr/bin/gcc-ar -DCMAKE_RANLIB=/usr/bin/gcc-ranlib && \
- make -j "$(nproc)" install
- CMD ["./start-servers.sh"]
|