FROM ubuntu:20.04
LABEL Graphcore Ltd

#Install the build dependencies
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt install -y \
    git \
    python3 \
    python3-pip \
    python3-distutils \
    make \
    g++ \
    gcc \
    cmake \
    libssl-dev \
    zlib1g-dev \
    rapidjson-dev \
    libboost-dev \
    libre2-dev \
    librdmacm-dev

RUN pip3 install cmake

#Build triton backend
ENV TAG r21.05
RUN git clone https://github.com/triton-inference-server/server.git && \
    cd server && \
    git checkout $TAG && \
    mkdir -p mybuild/tritonserver/install && \
    python3 build.py \
        --build-dir mybuild \
        --no-container-build \
        --endpoint=grpc \
        --enable-logging \
        --enable-stats \
        --cmake-dir `pwd`/build \
        --repo-tag=common:$TAG \
        --repo-tag=core:$TAG \
        --repo-tag=backend:$TAG \
        --repo-tag=thirdparty:$TAG

ENV PATH $PATH:/server/mybuild/tritonserver/build/server/mybuild/tritonserver/install/bin

