Martin Honermeyer
11 years ago
3 changed files with 78 additions and 32 deletions
@ -1,34 +1,25 @@
@@ -1,34 +1,25 @@
|
||||
# |
||||
# Dockerfile for building Twister peer-to-peer micro-blogging |
||||
# |
||||
FROM ubuntu:14.04 |
||||
|
||||
FROM debian:testing |
||||
MAINTAINER Álvaro Justen <alvarojusten@gmail.com> |
||||
# Install twister-core |
||||
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 |
||||
RUN echo 'deb http://http.debian.net/debian testing main contrib' > /etc/apt/sources.list |
||||
RUN echo 'deb http://http.debian.net/debian testing-updates main contrib' >> /etc/apt/sources.list |
||||
RUN echo 'deb http://security.debian.org testing/updates main contrib' >> /etc/apt/sources.list |
||||
RUN apt-get update |
||||
# Configure HOME directory |
||||
# and persist twister data directory as a volume |
||||
ENV HOME /root |
||||
VOLUME /root/.twister |
||||
|
||||
# Install needed packages to build and run twisterd |
||||
RUN apt-get -y install \ |
||||
git autoconf libtool build-essential \ |
||||
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"] |
||||
# Run twisterd by default |
||||
CMD ["/twister-core/twisterd", "-rpcuser=user", "-rpcpassword=pwd", "-rpcallowip=172.17.42.1", "-htmldir=/twister-html", "-printtoconsole"] |
||||
EXPOSE 28332 |
||||
|
@ -0,0 +1,52 @@
@@ -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