FROM debian:bullseye-slim ENV LANG=C.UTF-8 \ DEBIAN_FRONTEND=noninteractive \ DATADIR=/data RUN apt-get update; \ apt-get install -y wget python3-pip gnupg unzip make g++ autoconf automake libtool pkg-config gosu tzdata; # Must install protoc directly as latest package is not up to date RUN wget -O protobuf_src.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v21.1/protobuf-python-4.21.1.tar.gz && \ tar xvf protobuf_src.tar.gz && \ cd protobuf-3.21.1 && \ ./configure --prefix=/usr && \ make -j$(nproc) install && \ ldconfig ARG COINCURVE_VERSION=v0.1 RUN wget -O coincurve-anonswap.zip https://github.com/tecnovert/coincurve/archive/refs/tags/anonswap_$COINCURVE_VERSION.zip && \ unzip coincurve-anonswap.zip && \ mv ./coincurve-anonswap_$COINCURVE_VERSION ./coincurve-anonswap && \ cd coincurve-anonswap && \ python3 setup.py install --force ARG BASICSWAP_URL=https://github.com/tecnovert/basicswap/archive/master.zip ARG BASICSWAP_DIR=basicswap-master RUN wget -O basicswap-repo.zip $BASICSWAP_URL; \ unzip basicswap-repo.zip; \ mv $BASICSWAP_DIR /basicswap; \ cd /basicswap; \ protoc -I=basicswap --python_out=basicswap basicswap/messages.proto; \ pip3 install .; #COPY ./test_code basicswap #RUN cd basicswap; \ # protoc -I=basicswap --python_out=basicswap basicswap/messages.proto; \ # pip3 install .; RUN groupadd -r swap_user && useradd -g swap_user -ms /bin/bash swap_user && \ mkdir /data && chown swap_user -R /data VOLUME /data COPY ./entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["basicswap-run", "-datadir=/data"]