monero: Init at 0.16.0.1

This commit is contained in:
Matt Smith 2020-06-30 15:51:11 +01:00
parent 0537671a34
commit 02e0729573
No known key found for this signature in database
GPG Key ID: D0EAC8943FB1B2C1
3 changed files with 96 additions and 0 deletions

View File

@ -2,4 +2,5 @@
### Images
* [`monero`](monero): Monero P2P daemon and wallet RPC server
* [`xmrig`](xmrig): XMRig miner

55
monero/Dockerfile Normal file
View File

@ -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 <matt@offtopica.uk>"
COPY --from=builder /sysroot/lib /lib
COPY --from=builder /sysroot/usr/lib /usr/lib
COPY --from=builder /sysroot/bin/ /bin

40
monero/README.md Normal file
View File

@ -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
```
<!-- TODO: Write wallet usage example. -->
### 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'