diff --git a/README.md b/README.md index b8c8c2f..d8a4d59 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,5 @@ ### Images +* [`monero`](monero): Monero P2P daemon and wallet RPC server * [`xmrig`](xmrig): XMRig miner diff --git a/monero/Dockerfile b/monero/Dockerfile new file mode 100644 index 0000000..59ea3b1 --- /dev/null +++ b/monero/Dockerfile @@ -0,0 +1,55 @@ +ARG MONERO_VERSION=0.16.0.1 + +FROM alpine:3.12 AS builder + +ARG MONERO_VERSION + +RUN apk add --no-cache \ + boost-dev \ + build-base \ + cmake \ + libexecinfo-dev \ + libsodium-dev \ + openpgm-dev \ + openssl-dev \ + pkgconfig \ + unbound-dev \ + zeromq-dev + +# Extract Monero source. Mirrored because GitHub tarballs do not include +# submodules. +WORKDIR /workdir +ADD https://distfiles.offtopica.uk/monero-${MONERO_VERSION}.tar.xz \ + monero-${MONERO_VERSION}.tar.xz +RUN tar xf monero-${MONERO_VERSION}.tar.xz + +WORKDIR monero-${MONERO_VERSION} +RUN cmake \ + -Bbuild \ + -DBUILD_SHARED_LIBS=On \ + -DCMAKE_BUILD_TYPE=Release \ + -DMANUAL_SUBMODULES=On \ + -DCMAKE_CXX_FLAGS='-DELPP_FEATURE_CRASH_LOG' \ + && make \ + -s \ + -Cbuild \ + -j$(nproc) \ + daemon \ + wallet_rpc_server + +# Copy binaries and required libraries to sysroot folder. +RUN mkdir -p /sysroot/bin /sysroot/lib /sysroot/usr/lib \ + && cp -v /lib/ld-musl-x86_64.so.1 /sysroot/lib/ \ + && ldd build/bin/* \ + | awk '/=>/ { print $3 }' \ + | sort -u \ + | xargs -I '{}' cp -v '{}' /sysroot/usr/lib/ \ + && cp -v build/bin/* /sysroot/bin/ + +FROM scratch + +LABEL maintainer="Matt Smith " + +COPY --from=builder /sysroot/lib /lib +COPY --from=builder /sysroot/usr/lib /usr/lib +COPY --from=builder /sysroot/bin/ /bin diff --git a/monero/README.md b/monero/README.md new file mode 100644 index 0000000..b310914 --- /dev/null +++ b/monero/README.md @@ -0,0 +1,40 @@ +# monero + +Docker image for the [Monero][monero-site] P2P daemon and wallet RPC server. + +### Features + +* Super minimal image. No BS. + +### Daemon Usage Example + +``` +docker volume create monerod_data +docker run \ + --name monerod \ + --rm \ + -d \ + --entrypoint /bin/monerod \ + -v monerod_data:/data \ + -p 18080:18080 \ + -p 18081:18081 \ + moneromint/monero \ + --non-interactive \ + --data-dir /data \ + --rpc-bind-ip 0.0.0.0 \ + --confirm-external-bind \ + --restricted-rpc +``` + + + +### Links + +* [Docker Hub][dockerhub] +* [git.wownero.com][gitwow] +* [GitHub][github] + +[dockerhub]: https://hub.docker.com/r/moneromint/monero 'Docker Hub page' +[github]: https://github.com/moneormint/docker-monero 'GitHub repository' +[gitwow]: https://git.wownero.com/asymptotically/docker-monero 'Wownero Git repository' +[monero-site]: https://getmonero.org 'Monero Site'