From 84300afaf1fb868f488033b22c9397d4b5d886aa Mon Sep 17 00:00:00 2001 From: Dmitri Bogomolov <4glitch@gmail.com> Date: Mon, 16 Jul 2018 11:55:55 +0300 Subject: [PATCH] More complex container: - installing from deb - configuring and printing apipassword --- Dockerfile | 45 ++++++++++++++++++++++++++++++++++++++++----- MANIFEST.in | 1 + 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2aab542a..4cb7e1c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,44 @@ # A container for PyBitmessage daemon -FROM python:2.7-slim -WORKDIR /bitmessaged -ADD . /bitmessaged -RUN python2 setup.py install +FROM ubuntu:xenial + +RUN apt-get update + +# Install dependencies +RUN apt-get install -yq --no-install-suggests --no-install-recommends \ + python-msgpack dh-python python-all-dev build-essential libssl-dev \ + python-stdeb fakeroot python-pip libcap-dev + +RUN pip install --upgrade pip + EXPOSE 8444 8442 -ENV BITMESSAGE_HOME /bitmessaged + +ENV HOME /home/bitmessage +ENV BITMESSAGE_HOME ${HOME} + +ENV VER 0.6.3.2 + +WORKDIR ${HOME} +ADD . ${HOME} + +# Install tests dependencies +RUN pip install -r requirements.txt + +# Build and install deb +RUN python2 setup.py sdist \ + && py2dsc-deb dist/pybitmessage-${VER}.tar.gz \ + && dpkg -i deb_dist/python-pybitmessage_${VER}-1_amd64.deb + +# Generate default config +RUN src/bitmessagemain.py -t && mv keys.dat .. + +# Clean HOME +RUN rm -rf ${HOME} + +# Setup environment +RUN mv ../keys.dat . \ + && APIPASS=$(tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo) \ + && echo "\napiusername: api\napipassword: $APIPASS" \ + && echo "apienabled = true\napiinterface = 0.0.0.0\napiusername = api\napipassword = $APIPASS" >> keys.dat + CMD ["pybitmessage", "-d"] diff --git a/MANIFEST.in b/MANIFEST.in index 2d29971b..3cbc72cd 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,4 @@ include COPYING include README.md +include requirements.txt recursive-include desktop *