ffead-cpp-rust-base.dockerfile 2.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. FROM sumeetchhetri/ffead-cpp-5.0-base:5.1
  2. LABEL maintainer="Sumeet Chhetri"
  3. LABEL version="5.1"
  4. LABEL description="Base rust docker image with ffead-cpp v4.0 - commit id - master"
  5. ENV IROOT=/installs
  6. RUN rm -f /usr/local/lib/libffead-* /usr/local/lib/libte_benc* /usr/local/lib/libinter.so /usr/local/lib/libdinter.so && \
  7. ln -s ${IROOT}/ffead-cpp-5.0/lib/libte_benchmark_um.so /usr/local/lib/libte_benchmark_um.so && \
  8. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-modules.so /usr/local/lib/libffead-modules.so && \
  9. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-framework.so /usr/local/lib/libffead-framework.so && \
  10. ln -s ${IROOT}/ffead-cpp-5.0/lib/libinter.so /usr/local/lib/libinter.so && \
  11. ln -s ${IROOT}/ffead-cpp-5.0/lib/libdinter.so /usr/local/lib/libdinter.so && \
  12. ldconfig
  13. RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
  14. ENV PATH="/root/.cargo/bin:${PATH}"
  15. RUN cd ${IROOT}/lang-server-backends/rust/actix-ffead-cpp && RUSTFLAGS="-C target-cpu=native" cargo build --release && cp target/release/actix-ffead-cpp $IROOT/ && rm -rf target && \
  16. cd ${IROOT}/lang-server-backends/rust/hyper-ffead-cpp && RUSTFLAGS="-C target-cpu=native" cargo build --release && cp target/release/hyper-ffead-cpp $IROOT/ && rm -rf target && \
  17. cd ${IROOT}/lang-server-backends/rust/thruster-ffead-cpp && RUSTFLAGS="-C target-cpu=native" cargo build --release && cp target/release/thruster-ffead-cpp $IROOT/ && rm -rf target && \
  18. rm -rf ${IROOT}/lang-server-backends && rm -rf /root/.rustup /root/.cargo
  19. FROM buildpack-deps:bionic
  20. RUN apt update -yqq && apt install --no-install-recommends -yqq uuid-dev odbc-postgresql unixodbc unixodbc-dev memcached \
  21. libmemcached-dev libssl-dev libhiredis-dev zlib1g-dev libcurl4-openssl-dev redis-server libpq-dev && rm -rf /var/lib/apt/lists/*
  22. COPY --from=0 /installs/ffead-cpp-5.0 /installs/ffead-cpp-5.0
  23. COPY --from=0 /installs/ffead-cpp-5.0-sql /installs/ffead-cpp-5.0-sql
  24. COPY --from=0 /installs/actix-ffead-cpp /installs/
  25. COPY --from=0 /installs/hyper-ffead-cpp /installs/
  26. COPY --from=0 /installs/thruster-ffead-cpp /installs/
  27. RUN mkdir -p /installs/snmalloc-0.4.2/build
  28. COPY --from=0 /installs/snmalloc-0.4.2/build/libsnmallocshim-1mib.so /installs/snmalloc-0.4.2/build
  29. COPY --from=0 /usr/lib/x86_64-linux-gnu/odbc /usr/lib/x86_64-linux-gnu/odbc
  30. COPY --from=0 /usr/local/lib /usr/local/lib
  31. COPY --from=0 /run_ffead.sh /