You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docker-monero-node/dockerfiles/monero

60 lines
1.8 KiB
Plaintext

FROM ubuntu:22.04 AS og
ENV MONERO_HASH 51ba03928d189c1c11b5379cab17dd9ae8d2230056dc05c872d0f8dba4a87f1d
ENV MONERO_DL_URL https://downloads.getmonero.org/cli/monero-linux-x64-v0.18.3.4.tar.bz2
ENV MONERO_DL_FILE monero.tar.bz2
ENV MONERO_SUMS_FILE sha256sums
WORKDIR /opt/monero
# Update system and install dependencies
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y tar wget bzip2
# Download Monero binaries from getmonero.org
# Confirm hashes match
# Install daemon binary
# Clean up
RUN wget -qO ${MONERO_DL_FILE} ${MONERO_DL_URL} \
&& echo "${MONERO_HASH} ${MONERO_DL_FILE}" > ${MONERO_SUMS_FILE} \
&& sha256sum -c ${MONERO_SUMS_FILE}; \
if [ "$?" -eq 0 ]; \
then \
echo -e "[+] Hashes match - proceeding with container build"; \
else \
echo -e "[!] Hashes do not match - exiting"; \
exit 5; \
fi \
&& mkdir ./tmp \
&& tar xjf ${MONERO_DL_FILE} -C ./tmp --strip 1 \
&& mv ./tmp/* /usr/local/bin/ \
&& rm -rf ./tmp ${MONERO_SUMS_FILE} ${MONERO_DL_FILE}
# Download ban list
RUN wget -qO /tmp/ban_list.txt "https://raw.githubusercontent.com/Boog900/monero-ban-list/main/ban_list.txt"
# Download DNS client
RUN wget -qO q.tar.gz "https://github.com/natesales/q/releases/download/v0.19.2/q_0.19.2_linux_amd64.tar.gz" \
&& tar xzvf q.tar.gz \
&& mv q /tmp/q \
&& rm *.tar.gz
# Copy to fresh Ubuntu image to reduce size
FROM ubuntu:22.04
COPY --from=og /usr/local/bin/monerod /usr/local/bin/monerod
COPY --from=og /usr/local/bin/monero-wallet-cli /usr/local/bin/monero-wallet-cli
COPY --from=og /usr/local/bin/monero-wallet-rpc /usr/local/bin/monero-wallet-rpc
COPY --from=og /tmp/ban_list.txt /ban_list.txt
COPY --from=og /tmp/q /usr/local/bin/q
COPY dockerfiles/monero-entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
CMD "/entrypoint.sh"
EXPOSE 18080
EXPOSE 18081
EXPOSE 18082
EXPOSE 18083