Merge pull request #1 from slush0/master

Docker build script
This commit is contained in:
Martin 2018-02-11 19:41:19 +01:00 committed by GitHub
commit 016ac5fcd2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 1 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ blockbook
notes.txt
debug
.vscode
docker/blockbook

View File

@ -1,5 +1,13 @@
# blockbook
## Install using Docker:
```
git clone https://github.com/jpochyla/blockbook.git
cd blockbook/docker
./build.sh
```
## Install
Setup go environment (Debian 9):
@ -37,10 +45,17 @@ Install Go interface to ZeroMQ:
go get github.com/pebbe/zmq4
```
Install additional go libraries - glog logging, socket.io:
Install additional go libraries:
```
go get github.com/golang/glog
go get github.com/graarh/golang-socketio
go get github.com/btcsuite/btcd
go get github.com/gorilla/handlers
go get github.com/bsm/go-vlq
go get github.com/gorilla/handlers
go get github.com/gorilla/mux
go get github.com/pebbe/zmq4
go get github.com/pkg/profile
```
Install blockbook:

36
docker/Dockerfile Normal file
View File

@ -0,0 +1,36 @@
# initialize from the image
FROM debian:9
RUN apt-get update && apt-get install -y \
build-essential git wget pkg-config lxc-dev libzmq3-dev libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev
ENV GOLANG_VERSION=go1.9.2.linux-amd64
ENV GOPATH=/go
# install and configure go
RUN cd /opt && wget https://storage.googleapis.com/golang/$GOLANG_VERSION.tar.gz && tar xf $GOLANG_VERSION.tar.gz
RUN ln -s /opt/go/bin/go /usr/bin/go
RUN mkdir -p $GOPATH
RUN echo -n "GO version: " && go version
RUN echo -n "GOPATH: " && echo $GOPATH
# install rocksdb
RUN cd /opt && git clone https://github.com/facebook/rocksdb.git
RUN cd /opt/rocksdb && CFLAGS=-fPIC CXXFLAGS=-fPIC make static_lib
# install gorocksdb
RUN CGO_CFLAGS="-I/opt/rocksdb/include" CGO_LDFLAGS="-L/opt/rocksdb -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4" go get github.com/tecbot/gorocksdb
RUN go get github.com/golang/glog
RUN go get github.com/graarh/golang-socketio
RUN go get github.com/btcsuite/btcd
RUN go get github.com/gorilla/handlers
RUN go get github.com/bsm/go-vlq
RUN go get github.com/gorilla/handlers
RUN go get github.com/gorilla/mux
RUN go get github.com/pebbe/zmq4
RUN go get github.com/pkg/profile
RUN cd $GOPATH/src && git clone https://github.com/jpochyla/blockbook.git
RUN cd $GOPATH/src/blockbook && go build

9
docker/build.sh Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -e
cd `dirname $0`
docker build -t blockbook-build .
docker run -t -v $(pwd):/out blockbook-build /bin/cp /go/src/blockbook/blockbook /out/
strip blockbook