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
10
13
RUN curl https://dlsrc.getmonero.org/cli/monero-linux-x64-v$MONERO_VERSION.tar.bz2 -O &&\
11
14
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