diff --git a/Dockerfile b/Dockerfile index 93616db..858fee0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,13 @@ # syntax=docker/dockerfile:1 +# ------------------------------------- FROM ubuntu:jammy as base - ENV DEBIAN_FRONTEND=noninteractive + +# Update RUN apt-get update -RUN apt-get upgrade # Required dependencies -RUN apt-get install -y build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils -RUN apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev +RUN apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libevent-dev libssl-dev # Qt (required for dogecoin-qt GUI) RUN apt-get install -y libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler @@ -24,22 +24,38 @@ RUN apt-get install -y libzmq3-dev # Miniupnpc # RUN apt-get install -y libminiupnpc-dev -# Build tools -RUN apt-get install -y git autogen make gawk file # ------------------------------------- -FROM base as sources +FROM base as build_base + +# Build tools +RUN apt-get install -y build-essential libtool autotools-dev automake pkg-config bsdmainutils git autogen make gawk file + +# ------------------------------------- +FROM build_base as build ADD https://github.com/dogecoin/dogecoin.git /tmp/dogecoin -FROM sources as conf WORKDIR "/tmp/dogecoin" RUN ./autogen.sh >autogen.log -RUN ./configure --with-gui >configure.log +RUN ./configure --with-gui -prefix=/opt/dogecoin/ >configure.log -FROM conf as make WORKDIR "/tmp/dogecoin" RUN make -j4 && make install +# ------------------------------------- +FROM base as slim_base +RUN apt-get purge -y python3 +RUN apt-get autoremove --purge -y +RUN apt-get clean -y + +# ------------------------------------- +FROM slim_base as app +COPY --from=build /opt/dogecoin /opt/dogecoin +RUN rm /opt/dogecoin/bin/bench_dogecoin* +RUN rm /opt/dogecoin/bin/test_dogecoin* + RUN useradd -m doge +ENV PATH=$PATH:/opt/dogecoin/bin + RUN su - -s /usr/bin/bash doge WORKDIR "/home/doge" diff --git a/run.sh b/run.sh index 662a7f8..1cd639a 100755 --- a/run.sh +++ b/run.sh @@ -1,4 +1,4 @@ #/bin/bash # Run container interactive with X11 -docker container run --rm --net bridge -e DISPLAY=$DISPLAY -v /home/jens/.dogecoin:/home/doge/.dogecoin --user doge -it dogecoin +docker container run --rm --net bridge -e DISPLAY=$DISPLAY -v /home/jens/.dogecoin:/home/doge/.dogecoin --user doge -it $1