1- # Usage: docker run --restart=always -v /var/data/blockchain-xmr:/root/.bitmonero -p 18080:18080 -p 18081:18081 --name=monerod -td kannix/monero-full-node
2- FROM debian:bullseye-slim AS build
3-
4- ENV MONERO_VERSION=0.17.2.3 MONERO_SHA256=8069012ad5e7b35f79e35e6ca71c2424efc54b61f6f93238b182981ba83f2311
5-
6- RUN apt-get update && apt-get install -y curl bzip2 gosu
7-
8- WORKDIR /root
9-
1+ FROM ubuntu:latest
2+ # Create a user if required
3+ RUN useradd -r monero
4+ # Setup and cleanup of the packages required
5+ RUN apt-get update \
6+ && apt-get install -y curl \
7+ && rm -rf /var/lib/apt/lists/*
8+ # Declare the environment variables (version, path, data-dir etc)
9+ ENV MONERO_VERSION=0.17.3.0
10+ ENV MONERO_SHA256=ac18ce3d1189410a5c175984827d5d601974733303411f6142296d647f6582ce
11+ ENV MONERO_DATA=/home/monero/.bitmonero
12+ # Get the compiled binaries and extract them
1013RUN curl https://dlsrc.getmonero.org/cli/monero-linux-x64-v$MONERO_VERSION.tar.bz2 -O &&\
1114 echo "$MONERO_SHA256 monero-linux-x64-v$MONERO_VERSION.tar.bz2" | sha256sum -c - &&\
12- tar -xvf monero-linux-x64-v$MONERO_VERSION.tar.bz2 &&\
13- rm monero-linux-x64-v$MONERO_VERSION.tar.bz2 &&\
14- cp ./monero-x86_64-linux-gnu-v$MONERO_VERSION/monerod . &&\
15- rm -r monero-*
16-
17- FROM debian:bullseye-slim
18-
19- RUN useradd -ms /bin/bash monero && mkdir -p /home/monero/.bitmonero && chown -R monero:monero /home/monero/.bitmonero
20- USER monero
21- WORKDIR /home/monero
22-
23- COPY --chown=monero:monero --from=build /root/monerod /home/monero/monerod
24-
25- VOLUME /home/monero/.bitmonero
26-
27- EXPOSE 18080 18081 18082 38080 38081
28-
29-
30- COPY --chown=monero:monero entrypoint.sh ./entrypoint.sh
31- RUN chmod +x entrypoint.sh
32- ENTRYPOINT ["/home/monero/entrypoint.sh" ]
33-
34- ENTRYPOINT ["./monerod" ]
35-
36- CMD ["monero-wallet-rpc" ]
15+ tar -xvf monero-linux-x64-v$MONERO_VERSION.tar.bz2 -C /opt
16+ # RUN wget https://dlsrc.getmonero.org/cli/monero-linux-x64-v${MONERO_VERSION}.tar.bz2
17+ # RUN tar -xf *.tar.bz2 -C /opt
18+ # Cleanup the workspace
19+ RUN rm *.tar.bz2
20+ # Append the bin folder to the %PATH%
21+ ENV PATH=/opt/monero-x86_64-linux-gnu-v${MONERO_VERSION}:$PATH
22+ # Mount volume
23+ VOLUME ["/home/monero/.bitmonero" ]
24+ # Expose required ports (both testnet & mainnet)
25+ EXPOSE 18080 18081 28080 28081 38080 38081
26+ # Copy and define the entrypoint
27+ COPY entrypoint.sh /entrypoint.sh
28+ ENTRYPOINT ["sh" , "/entrypoint.sh" ]
29+ # Define the default command
30+ CMD ["monerod" ]
0 commit comments