FROM ubuntu:22.04
ARG MP_SPDZ_COMMIT=9f2a641a9427fa01380b262402424798d097c789
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    build-essential clang git python3 automake cmake libtool pkg-config \
    libboost-dev libboost-thread-dev libgmp-dev libssl-dev libsodium-dev ca-certificates \
    && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/MP-SPDZ
RUN git init && git remote add origin https://github.com/data61/MP-SPDZ.git \
    && git fetch --depth 1 origin ${MP_SPDZ_COMMIT} && git checkout FETCH_HEAD \
    && printf 'CXX = clang++\nARCH = -march=x86-64\nUSE_NTL = 0\n' > CONFIG.mine \
    && make -j2 replicated-ring-party.x
COPY mpspdz/e01.mpc Programs/Source/e01.mpc
ARG N=8
RUN ./compile.py -R 64 e01 ${N}
# Lab-only unencrypted channels. Do not deploy outside isolated experiment network.
ENTRYPOINT ["./replicated-ring-party.x"]
