57 lines
1.8 KiB
Docker
57 lines
1.8 KiB
Docker
# syntax=docker/dockerfile:1
|
|
# -------------------------------------
|
|
FROM ubuntu:jammy as base
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Update
|
|
RUN apt-get update
|
|
|
|
# Required dependencies
|
|
RUN apt-get install -y --no-install-recommends 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 --no-install-recommends libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
|
|
RUN apt-get install -y --no-install-recommends libqrencode-dev
|
|
|
|
RUN apt-get install -y --no-install-recommends libxkbcommon-x11-0 libxcb-xinerama0 libx11-xcb1 libx11-xcb-dev libqt5x11extras5
|
|
|
|
# BerkeleyDB (version 5.3)
|
|
RUN apt-get install -y --no-install-recommends libdb5.3++-dev libdb5.3++ libdb5.3-dev
|
|
|
|
# ZMQ (provides ZMQ API 4.x)
|
|
RUN apt-get install -y --no-install-recommends libzmq3-dev
|
|
|
|
# Miniupnpc
|
|
# RUN apt-get install -y libminiupnpc-dev
|
|
|
|
# -------------------------------------
|
|
FROM base as build
|
|
|
|
# Build tools
|
|
RUN apt-get install -y build-essential libtool autotools-dev automake pkg-config bsdmainutils git autogen make gawk file
|
|
ADD https://github.com/dogecoin/dogecoin.git /tmp/dogecoin
|
|
|
|
WORKDIR "/tmp/dogecoin"
|
|
RUN ./autogen.sh >autogen.log
|
|
RUN ./configure --with-gui -prefix=/opt/dogecoin/ >configure.log
|
|
|
|
WORKDIR "/tmp/dogecoin"
|
|
RUN make -j4 && make install
|
|
|
|
# -------------------------------------
|
|
FROM base as app
|
|
RUN apt-get install -y bc
|
|
|
|
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"
|
|
|
|
COPY app/*.sh /app/
|
|
CMD ["/app/app.sh"]
|