Martin Honermeyer
11 years ago
3 changed files with 78 additions and 32 deletions
@ -1,34 +1,25 @@ |
|||||||
# |
# |
||||||
# Dockerfile for building Twister peer-to-peer micro-blogging |
# Dockerfile for building Twister peer-to-peer micro-blogging |
||||||
# |
# |
||||||
|
FROM ubuntu:14.04 |
||||||
|
|
||||||
FROM debian:testing |
# Install twister-core |
||||||
MAINTAINER Álvaro Justen <alvarojusten@gmail.com> |
RUN apt-get update |
||||||
|
RUN apt-get install -y git autoconf libtool build-essential libboost-all-dev libssl-dev libdb++-dev libminiupnpc-dev && apt-get clean |
||||||
|
#RUN git clone https://github.com/miguelfreitas/twister-core.git |
||||||
|
ADD . /twister-core |
||||||
|
RUN cd twister-core && \ |
||||||
|
./bootstrap.sh && \ |
||||||
|
make |
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive |
# Install twister-html |
||||||
|
RUN git clone https://github.com/miguelfreitas/twister-html.git /twister-html |
||||||
|
|
||||||
# Update repositories |
# Configure HOME directory |
||||||
RUN echo 'deb http://http.debian.net/debian testing main contrib' > /etc/apt/sources.list |
# and persist twister data directory as a volume |
||||||
RUN echo 'deb http://http.debian.net/debian testing-updates main contrib' >> /etc/apt/sources.list |
ENV HOME /root |
||||||
RUN echo 'deb http://security.debian.org testing/updates main contrib' >> /etc/apt/sources.list |
VOLUME /root/.twister |
||||||
RUN apt-get update |
|
||||||
|
|
||||||
# Install needed packages to build and run twisterd |
# Run twisterd by default |
||||||
RUN apt-get -y install \ |
CMD ["/twister-core/twisterd", "-rpcuser=user", "-rpcpassword=pwd", "-rpcallowip=172.17.42.1", "-htmldir=/twister-html", "-printtoconsole"] |
||||||
git autoconf libtool build-essential \ |
EXPOSE 28332 |
||||||
libboost-all-dev libdb++-dev libminiupnpc-dev libssl-dev |
|
||||||
|
|
||||||
# Clean APT cache to save disk space |
|
||||||
RUN apt-get clean |
|
||||||
|
|
||||||
# Download and build twister |
|
||||||
RUN mkdir /root/.twister |
|
||||||
RUN git clone https://github.com/miguelfreitas/twister-core.git /root/twister-core |
|
||||||
RUN git clone https://github.com/miguelfreitas/twister-html.git /root/.twister/html |
|
||||||
RUN cd /root/twister-core && ./bootstrap.sh |
|
||||||
RUN cd /root/twister-core && make |
|
||||||
|
|
||||||
EXPOSE 28332 |
|
||||||
ENTRYPOINT ["/root/twister-core/twisterd"] |
|
||||||
CMD ["-rpcuser=user", "-rpcpassword=pwd", "-rpcallowip=*", \ |
|
||||||
"-datadir=/root/.twister", "-htmldir=/root/.twister/html"] |
|
||||||
|
@ -0,0 +1,52 @@ |
|||||||
|
#!/bin/sh |
||||||
|
# |
||||||
|
# Build or run a docker image of twister |
||||||
|
# |
||||||
|
|
||||||
|
ACTION=${1:-run} |
||||||
|
MODE=${2:---local} |
||||||
|
|
||||||
|
IMAGE_NAME=twister |
||||||
|
REMOTE_IMAGE_NAME=mazzolino/twister |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
case $ACTION in |
||||||
|
|
||||||
|
build) |
||||||
|
echo Building $IMAGE_NAME |
||||||
|
docker build -t $IMAGE_NAME . |
||||||
|
;; |
||||||
|
|
||||||
|
run) |
||||||
|
if [ $MODE == "--remote" ]; then |
||||||
|
IMAGE_NAME=$REMOTE_IMAGE_NAME |
||||||
|
fi |
||||||
|
echo Running $IMAGE_NAME |
||||||
|
docker run -d -p 28332:28332 -v $HOME/.twister:/root/.twister $IMAGE_NAME |
||||||
|
echo Twister should now be running at http://localhost:28332 |
||||||
|
;; |
||||||
|
|
||||||
|
stop) |
||||||
|
CID=$(docker ps | grep twister | awk '{print $1}') |
||||||
|
if [ "$CID" ]; then |
||||||
|
echo Stopping container $CID |
||||||
|
docker stop $CID |
||||||
|
docker rm $CID |
||||||
|
fi |
||||||
|
;; |
||||||
|
|
||||||
|
*) |
||||||
|
echo Usage: |
||||||
|
echo " $0 run" |
||||||
|
echo " Run twister from a local docker build (default)" |
||||||
|
echo |
||||||
|
echo " $0 run --remote" |
||||||
|
echo " Run twister from the remote docker build at \"$REMOTE_IMAGE_NAME\"" |
||||||
|
echo |
||||||
|
echo " $0 build" |
||||||
|
echo " Build a local docker image for twister" |
||||||
|
|
||||||
|
exit 2 |
||||||
|
|
||||||
|
esac |
Loading…
Reference in new issue