From 343b5e220f51e583d1bbe8e802e1bbfac6c2b620 Mon Sep 17 00:00:00 2001 From: FozFieldr Date: Mon, 5 Mar 2018 15:16:12 +0300 Subject: [PATCH 1/5] Docker compile daemon and gui version --- README.md | 5 ++++ docker/docker-compose.yml | 8 ++++++ docker/docker1/Dockerfile-bcn | 15 ++++++++++ docker/docker1/src/make-bcn-docker.sh | 19 +++++++++++++ docker/make-bcn.sh | 40 +++++++++++++++++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 docker/docker-compose.yml create mode 100644 docker/docker1/Dockerfile-bcn create mode 100755 docker/docker1/src/make-bcn-docker.sh create mode 100755 docker/make-bcn.sh diff --git a/README.md b/README.md index 415fea2c..b7c609f2 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ Contents All commands below are adopted for Ubuntu, other distributions may need an other command set. +## Build Gui and Daemon via docker +Result stored to save +$cd docker +$./make-bcn.sh + ### Building with standard options To go futher you have to have a number of packages and utilities. diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000..1b7b94c2 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,8 @@ +version: '2' +services: + devbcn: + build: + context: ./docker1 + dockerfile: Dockerfile-bcn + volumes: + - './save:/save' diff --git a/docker/docker1/Dockerfile-bcn b/docker/docker1/Dockerfile-bcn new file mode 100644 index 00000000..a7f9aaed --- /dev/null +++ b/docker/docker1/Dockerfile-bcn @@ -0,0 +1,15 @@ +FROM fedora:27 +#Fedora image + +#FROM debian:stable +#Debian image + +#Fedora setup requirements +RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel + +#Debian setup requirements +#RUN apt-get -y update && apt-get -y install build-essential cmake libboost-all-dev liblmdb-dev git qtbase5-dev + +ADD ./src ./src + +CMD /src/make-bcn-docker.sh diff --git a/docker/docker1/src/make-bcn-docker.sh b/docker/docker1/src/make-bcn-docker.sh new file mode 100755 index 00000000..fda66fed --- /dev/null +++ b/docker/docker1/src/make-bcn-docker.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +git clone https://github.com/bcndev/bytecoin.git +cd bytecoin +git clone https://github.com/LMDB/lmdb.git +mkdir -p build +cd build +cmake .. +time make -j4 + +cd ../.. +git clone https://github.com/bcndev/bytecoin-gui.git +cd bytecoin-gui +mkdir -p build +cd build +cmake .. +time make -j4 +cp -v ../../bytecoin/bin/* /save/ +cp -v ../bin/* /save/ diff --git a/docker/make-bcn.sh b/docker/make-bcn.sh new file mode 100755 index 00000000..f6d2f30e --- /dev/null +++ b/docker/make-bcn.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +#If you enabled Selinux, you need this command: +#sudo chcon -Rt svirt_sandbox_file_t save + +echo 'Detect docker host system' +if df -h | grep atomic ; then +echo 'Atomic docker host' +export PATH=/usr/local/bin:$PATH +else +echo 'Another docker host' +fi + +function build +{ +if [ ! -d "save" ]; then + mkdir save +fi + +docker-compose build +} + +function up +{ +docker-compose up +} + +function leave +{ +echo 'Error compile' +/bin/false +} + +function info1 +{ +echo 'All compiled files at folder save' +ls -la save +} +echo 'Compile bytecoin devel (gui and daemon) with Docker' +build && up && info1 || leave From f477be71a21c444648b1a871688748c3f301299a Mon Sep 17 00:00:00 2001 From: FozFieldr Date: Mon, 5 Mar 2018 21:22:49 +0300 Subject: [PATCH 2/5] Add Ubuntu docker build --- docker/docker1/Dockerfile-bcn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/docker1/Dockerfile-bcn b/docker/docker1/Dockerfile-bcn index a7f9aaed..43496ee6 100644 --- a/docker/docker1/Dockerfile-bcn +++ b/docker/docker1/Dockerfile-bcn @@ -2,12 +2,13 @@ FROM fedora:27 #Fedora image #FROM debian:stable -#Debian image +#FROM ubuntu:latest +#Debian and Ubuntu image #Fedora setup requirements RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel -#Debian setup requirements +#Debian and Ubuntu setup requirements #RUN apt-get -y update && apt-get -y install build-essential cmake libboost-all-dev liblmdb-dev git qtbase5-dev ADD ./src ./src From f90a87f7976ad92eb3ad71cbb344c7ad66f2843b Mon Sep 17 00:00:00 2001 From: HomDx Date: Thu, 22 Mar 2018 17:00:26 +0300 Subject: [PATCH 3/5] Update make docker for release v.3.0.0 --- docker/docker1/Dockerfile-bcn | 9 ++++++--- docker/docker1/src/make-bcn-docker.sh | 21 +++++++++++++++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/docker/docker1/Dockerfile-bcn b/docker/docker1/Dockerfile-bcn index 43496ee6..3c1d13ea 100644 --- a/docker/docker1/Dockerfile-bcn +++ b/docker/docker1/Dockerfile-bcn @@ -6,11 +6,14 @@ FROM fedora:27 #Debian and Ubuntu image #Fedora setup requirements -RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel +RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel openssl-devel && clean all #Debian and Ubuntu setup requirements -#RUN apt-get -y update && apt-get -y install build-essential cmake libboost-all-dev liblmdb-dev git qtbase5-dev +#RUN apt-get -y update && apt-get -y install build-essential cmake libboost-all-dev liblmdb-dev git qtbase5-dev libssl-dev && apt-get clean all -ADD ./src ./src +#Only for ubuntu docker: setup new version boost 1.64 +#RUN apt-get install -y wget && wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz && tar -xvf boost_1_64_0.tar.gz && cd boost_1_64_0 && ./bootstrap.sh && ./b2 install && cd / && rm -r boost_1_64_0 + +ADD ./src /src CMD /src/make-bcn-docker.sh diff --git a/docker/docker1/src/make-bcn-docker.sh b/docker/docker1/src/make-bcn-docker.sh index fda66fed..12945cbd 100755 --- a/docker/docker1/src/make-bcn-docker.sh +++ b/docker/docker1/src/make-bcn-docker.sh @@ -1,13 +1,27 @@ #!/bin/bash +RESULT_MSG='Copy result build to save folder' + git clone https://github.com/bcndev/bytecoin.git cd bytecoin +git clone https://github.com/openssl/openssl.git +cd openssl +./Configure linux-x86_64 no-shared +time make -j4 +echo 'Copy source openssl and compiled' +cp ./include/openssl/* ./ +cp ./apps/openssl ./ +cd .. + git clone https://github.com/LMDB/lmdb.git mkdir -p build cd build cmake .. time make -j4 +echo $RESULT_MSG +cp -v ../bin/* /save + cd ../.. git clone https://github.com/bcndev/bytecoin-gui.git cd bytecoin-gui @@ -15,5 +29,8 @@ mkdir -p build cd build cmake .. time make -j4 -cp -v ../../bytecoin/bin/* /save/ -cp -v ../bin/* /save/ +echo $RESULT_MSG +cp -v ../bin/* /save + +echo Remove sources +cd ../.. && rm -rf bytecoin-gui && rm -rf bytecoin-gui From e75734201fc06d93319b078e13a91836a7576817 Mon Sep 17 00:00:00 2001 From: HomDx Date: Thu, 22 Mar 2018 17:08:04 +0300 Subject: [PATCH 4/5] Cleanup sources after build --- docker/docker1/src/make-bcn-docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker1/src/make-bcn-docker.sh b/docker/docker1/src/make-bcn-docker.sh index 12945cbd..b939f12f 100755 --- a/docker/docker1/src/make-bcn-docker.sh +++ b/docker/docker1/src/make-bcn-docker.sh @@ -33,4 +33,4 @@ echo $RESULT_MSG cp -v ../bin/* /save echo Remove sources -cd ../.. && rm -rf bytecoin-gui && rm -rf bytecoin-gui +cd ../.. && rm -rf bytecoin-gui && rm -rf bytecoin From 36ffad1d20b31801fc78a12e5a622140efe9a329 Mon Sep 17 00:00:00 2001 From: HomDx Date: Tue, 3 Apr 2018 22:00:16 +0300 Subject: [PATCH 5/5] Added docker image --- README.md | 6 ++++++ docker/docker1/Dockerfile-bcn | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b7c609f2..b7542dd1 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,12 @@ Result stored to save $cd docker $./make-bcn.sh +You can try compiled (via script upper) docker image, via Dockerfile: +FROM homdx/bytecoin-docker + +#CMD ["/bin/walletd"] +#CMD ["/bin/bytecoind"] + ### Building with standard options To go futher you have to have a number of packages and utilities. diff --git a/docker/docker1/Dockerfile-bcn b/docker/docker1/Dockerfile-bcn index 3c1d13ea..fd94a219 100644 --- a/docker/docker1/Dockerfile-bcn +++ b/docker/docker1/Dockerfile-bcn @@ -6,7 +6,7 @@ FROM fedora:27 #Debian and Ubuntu image #Fedora setup requirements -RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel openssl-devel && clean all +RUN dnf -y update && dnf -y install gcc-c++ boost-static boost-devel qt5-devel cmake git lmdb-devel openssl-devel && dnf clean all #Debian and Ubuntu setup requirements #RUN apt-get -y update && apt-get -y install build-essential cmake libboost-all-dev liblmdb-dev git qtbase5-dev libssl-dev && apt-get clean all