From b2c7e0412bb84ad9d2e5add8851b7d4740546d7a Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 9 May 2024 19:22:01 +0200 Subject: [PATCH] Initial commit --- Dockerfile | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 0 app/app.sh | 13 +++++++++++++ bash.sh | 8 ++++++++ build.sh | 3 +++ run.sh | 5 +++++ 6 files changed, 86 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 app/app.sh create mode 100755 bash.sh create mode 100755 build.sh create mode 100755 run.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..30fe0d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,57 @@ +# syntax=docker/dockerfile:1 +FROM ubuntu:jammy as base + +WORKDIR /app +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update + +# Build tools +RUN apt-get install -y git build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils + +# Boost libs +RUN apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev + +# Qt (required for dogecoin-qt GUI) +RUN apt-get install -y libqt5gui5 libqt5core5a libqt5dbus5 +RUN apt-get install -y qttools5-dev qttools5-dev-tools + +# Protobuf libs +RUN apt-get install -y libprotobuf-dev +# Protobuf compiler +RUN apt-get install -y protobuf-compiler + +# QR encode libs +RUN apt-get install -y libqrencode-dev + +# BerkeleyDB (version 5.3) +RUN apt-get install -y libdb5.3++-dev libdb5.3++ libdb5.3-dev + +# ZMQ (provides ZMQ API 4.x) +RUN apt-get install -y libzmq3-dev + +# Miniupnpc +RUN apt-get install -y libminiupnpc-dev + +# Make and autogen +RUN apt-get install -y autogen +RUN apt-get install -y make + +# ------------------------------------- +FROM base as sources +ADD https://github.com/dogecoin/dogecoin.git /tmp/dogecoin + +FROM sources as conf +WORKDIR "/tmp/dogecoin" +RUN ./autogen.sh +RUN ./configure --with-gui + +FROM conf as make +WORKDIR "/tmp/dogecoin" +RUN make -j4 && make install + +RUN useradd -m doge +RUN su - -s /usr/bin/bash doge +WORKDIR "/home/doge" + +COPY app/*.sh /app/ +CMD ["/app/app.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/app/app.sh b/app/app.sh new file mode 100755 index 0000000..5b859f9 --- /dev/null +++ b/app/app.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +bail() +{ + while true; do + sleep 1 + done; +} + +echo Using DISPLAY $DISPLAY +exec dogecoin-qt + +bail diff --git a/bash.sh b/bash.sh new file mode 100755 index 0000000..cd1d8bb --- /dev/null +++ b/bash.sh @@ -0,0 +1,8 @@ +#/bin/bash + +# Run container interactive with X11 +# User doge +#docker container run --rm --net host -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/jens/.dogecoin:/home/doge/.dogecoin --user doge -it dogecoin bash --login +# User root +docker run --rm --net host -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/jens/.dogecoin:/home/doge/.dogecoin -it dogecoin bash --login +#docker run --rm --net bridge -e DISPLAY=172.17.0.2:99 -v /home/jens/.dogecoin:/home/doge/.dogecoin -it dogecoin bash --login diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..48a08f6 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#/bin/bash + +docker build -t dogecoin . diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..010c6b7 --- /dev/null +++ b/run.sh @@ -0,0 +1,5 @@ +#/bin/bash + +# Run container interactive with X11 +#docker container run --rm --net host -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/jens/.dogecoin:/home/doge/.dogecoin --user doge -it dogecoin dogecoin-qt +docker container run --rm --net bridge -e DISPLAY=$DISPLAY -v /home/jens/.dogecoin:/home/doge/.dogecoin --user doge dogecoin