Dockerfile
This commit is contained in:
58
Docker/Dockerfile
Normal file
58
Docker/Dockerfile
Normal file
@@ -0,0 +1,58 @@
|
||||
# A container for PyBitmessage daemon
|
||||
FROM ubuntu:bionic-20220401
|
||||
|
||||
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 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
|
||||
ENTRYPOINT sed -ie "s|\(apiinterface = \).*|\10\.0\.0\.0|g" keys.dat \
|
||||
#&& sed -ie "s|\(apivariant = \).*|\1json|g" keys.dat \
|
||||
&& sed -ie "s|\(apiusername = \).*|\1$BITMESSAGE_API_USER|g" keys.dat \
|
||||
&& sed -ie "s|\(apipassword = \).*|\1$BITMESSAGE_API_PASSWORD|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
|
||||
|
||||
Reference in New Issue
Block a user