From 6b2827b5d1e12a5ec83d383d4247b46602417f0b Mon Sep 17 00:00:00 2001 From: foobar Date: Wed, 30 Apr 2014 15:10:29 -0400 Subject: [PATCH] Initial Dockerfile --- docker/Dockerfile | 20 ++++++++++++++++++++ docker/README.md | 17 +++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/README.md diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 000000000..1bd690cbb --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:14.04 + +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update +RUN apt-get upgrade -y + +RUN apt-get install -qy wget +RUN apt-get install -qy build-essential g++-4.8 automake libtool unzip git cmake +RUN apt-get install -qy libncurses5-dev libgmp-dev libgmp3-dev libboost-all-dev libleveldb-dev yasm libminiupnpc-dev +RUN apt-get install -qy qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev + +RUN mkdir /cryptopp562 +RUN cd /cryptopp562 && wget http://www.cryptopp.com/cryptopp562.zip && unzip cryptopp562.zip +RUN cd /cryptopp562 && make -j $(cat /proc/cpuinfo | grep processor | wc -l) && make install + +RUN git clone --depth=1 https://github.com/ethereum/cpp-ethereum +RUN mkdir cpp-ethereum/build +RUN cd cpp-ethereum/build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j $(cat /proc/cpuinfo | grep processor | wc -l) && make install + +ENTRYPOINT ["/usr/local/bin/eth"] diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000..634ba56da --- /dev/null +++ b/docker/README.md @@ -0,0 +1,17 @@ +# Dockerfile for cpp-ethereum +Dockerfile to build a bleeding edge cpp-ethereum docker image from source + + docker build -t cppeth < Dockerfile + +Run a simple peer server + + docker run -i cppeth -m off -o peer -x 256 + +GUI is compiled but not exposed. You can mount /cpp-ethereum/build to access binaries: + + cid = $(docker run -i -v /cpp-ethereum/build cppeth -m off -o peer -x 256) + docker inspect $cid # <-- Find volume path in JSON output + +You may also modify the Docker image to run the GUI and expose a +ssh/VNC server in order to tunnel an X11 or VNC session. +