Skip to content

Instantly share code, notes, and snippets.

@curtiszimmerman
Created May 19, 2016 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save curtiszimmerman/ee65576f2a626a07cbd4e129a0f238fc to your computer and use it in GitHub Desktop.
Save curtiszimmerman/ee65576f2a626a07cbd4e129a0f238fc to your computer and use it in GitHub Desktop.
Dockerfile for Ethereum C++ and Go implementations
FROM ubuntu:wily
MAINTAINER James Wheaton <jwheaton@kpmg.com>
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -y update &&\
apt-get -y install language-pack-en-base &&\
dpkg-reconfigure locales &&\
apt-get -y install software-properties-common &&\
apt-get upgrade -q -y && \
apt-get dist-upgrade -q -y && \
echo "deb http://ppa.launchpad.net/ethereum/ethereum/ubuntu wily main" | tee -a /etc/apt/sources.list.d/ethereum.list && \
add-apt-repository "deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.7 main" &&\
apt-get -y install wget &&\
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - &&\
apt-get -y update &&\
apt-get -y install llvm-3.7-dev &&\
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN add-apt-repository -y ppa:ethereum/ethereum-qt &&\
add-apt-repository -y ppa:ethereum/ethereum &&\
add-apt-repository -y ppa:ethereum/ethereum-dev &&\
apt-get -y update &&\
apt-get -y upgrade &&\
apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev \
libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev \
libcurl4-openssl-dev libcryptopp-dev libmicrohttpd-dev libjsoncpp-dev \
libargtable2-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers \
libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev \
libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev libz-dev \
libjsonrpccpp-dev qml-module-qtquick-controls qml-module-qtwebengine \
libgmp3-dev golang
# You can install any of these: https://github.com/vaporry/ethereum-ppa/tree/master/debian
RUN apt-get -y install ethereum solc && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/ethereum/go-ethereum && \
cd go-ethereum && \
git checkout v1.3.6 && \
make geth && \
cp build/bin/geth /usr/bin
EXPOSE 8545
EXPOSE 30303
VOLUME /srv/solc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment