FROM ghcr.io/savoirfairelinux/opendht/opendht-deps-alpine:latest AS build
LABEL maintainer="Adrien Béraud <adrien.beraud@savoirfairelinux.com>"
LABEL org.opencontainers.image.source https://github.com/savoirfairelinux/opendht

COPY . opendht

RUN mkdir /install
ENV DESTDIR /install

RUN cd opendht && mkdir build && cd build \
	&& cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
				-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On \
				-DOPENDHT_C=On \
				-DOPENDHT_PEER_DISCOVERY=On \
				-DOPENDHT_PYTHON=On \
				-DOPENDHT_TOOLS=On \
				-DOPENDHT_PROXY_SERVER=On \
				-DOPENDHT_PROXY_CLIENT=On \
				-DOPENDHT_SYSTEMD=On \
	&& make -j8 && make install

FROM alpine:3.17 AS install
COPY --from=build /install /
RUN apk add --no-cache \
        libstdc++ \
        gnutls \
        nettle \
        openssl \
        argon2-dev \
        jsoncpp \
        fmt \
        http-parser \
        readline \
        ncurses
CMD ["dhtnode", "-b", "bootstrap.jami.net", "-p", "4222", "--proxyserver", "8080"]
EXPOSE 4222/udp
EXPOSE 8080/tcp
