# A container for PyBitmessage daemon FROM ubuntu:bionic-20220401 SHELL ["/bin/bash", "-exo", "pipefail", "-c"] RUN apt-get update # Install dependencies RUN apt-get install -yq --no-install-suggests --no-install-recommends \ build-essential libcap-dev libssl-dev \ python-all-dev python-msgpack python-pip python-setuptools \ git WORKDIR /root RUN git clone https://github.com/Bitmessage/PyBitmessage WORKDIR /root/PyBitmessage # Install RUN pip2 install jsonrpclib . FROM ubuntu:bionic-20220401 EXPOSE 8442 ENV BITMESSAGE_API_USER=bitmessage_api_user ENV BITMESSAGE_API_PASSWORD=bitmessage_api_password ENV BITMESSAGE_SEED_PHRASE=bitmessage_seed_phrase ENV BITMESSAGE_SEED_ADDRESSES=1 ENV BITMESSAGE_API_PORT=8442 ENV BITMESSAGE_TTL=172800 ENV HOME /home/bitmessage ENV BITMESSAGE_HOME ${HOME} COPY --from=0 /usr/local/ /usr/local/ # Install dependencies RUN apt-get update \ && apt-get install -yq --no-install-suggests --no-install-recommends python-setuptools \ && rm -rf /var/lib/apt/lists/* # Create a user RUN useradd --create-home --home-dir $HOME bitmessage WORKDIR ${HOME} USER bitmessage # Generate default config RUN pybitmessage -t # Setup environment CMD sed -i -e "s|\(apiinterface = \).*|\10\.0\.0\.0|g" \ #&& -e "s|\(apivariant = \).*|\1json|g" \ -e "s|\(apiusername = \).*|\1$BITMESSAGE_API_USER|g" \ -e "s|\(apipassword = \).*|\1$BITMESSAGE_API_PASSWORD|g" \ -e "s|\(apiport = \).*|\1$BITMESSAGE_API_PORT|g" \ -e "s|\(apienabled = \).*|\1True|g" \ -e "s|\(ttl = \).*|\1$BITMESSAGE_TTL|g" \ -e "s|\(udp = \).*|\1False|g" keys.dat \ && exec pybitmessage -d # Generate Deterministic address HEALTHCHECK --retries=3 --interval=15s \ CMD python -c "import xmlrpclib; api_link='http://$BITMESSAGE_API_USER:$BITMESSAGE_API_PASSWORD@127.0.0.1:8442/'; api = xmlrpclib.ServerProxy(api_link); print api.createDeterministicAddresses('$BITMESSAGE_SEED_PHRASE'.encode('base64'),$BITMESSAGE_SEED_ADDRESSES)" || exit 1