50 lines
1.2 KiB
Docker
50 lines
1.2 KiB
Docker
# A container for PyBitmessage daemon
|
|
|
|
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 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
|
|
|
|
# Create a user
|
|
RUN useradd bitmessage && chown -R bitmessage ${HOME}
|
|
|
|
USER bitmessage
|
|
|
|
# Generate default config
|
|
RUN src/bitmessagemain.py -t && mv keys.dat /tmp
|
|
|
|
# Clean HOME
|
|
RUN rm -rf ${HOME}/*
|
|
|
|
# Setup environment
|
|
RUN mv /tmp/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"]
|