Files
bitmessage/Docker/Dockerfile
2023-01-30 16:40:45 +03:00

67 lines
1.9 KiB
Docker

# 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=api
ENV BITMESSAGE_API_PASSWORD=changeme
ENV BITMESSAGE_SEED_PHRASE=changeme
ENV BITMESSAGE_SEED_ADDRESSES=1
ENV BITMESSAGE_API_PORT=8442
ENV 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$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