Sign inSign up

rblaine/monero

By rblaine

•Updated about 12 hours ago

My personal, unprivileged, Docker Image to run a full Monero Node in one line

Image
1

50K+

rblaine/monero repository overview

⁠Docker Monero

My personal unprivileged Monero Docker image.

Github tag (latest by date)

GitHub Workflow Status (branch)

Docker Image Size (latest by date)

⁠IP Ban List

The Monero Research Lab (MRL) has identified a network of suspected spy nodes that may reduce transaction privacy on the Monero network.

While this Docker image doesn't package the ban list directly, we provide instructions for implementing it with your node.

⁠Background

These spy nodes are believed to be operated by adversaries attempting to deanonymize Monero transactions by:

  • Proxying a few nodes through many IP addresses
  • Creating high subnet saturation in specific IP ranges
  • Potentially weakening Dandelion++ transaction privacy

For more detailed information, please see monero-project/meta#1124.

⁠Implementing the Ban List
  1. Download the ban list:
wget -O ./monero-data/ban_list.txt \
  https://raw.githubusercontent.com/Boog900/monero-ban-list/refs/heads/main/ban_list.txt
  1. Add the ban list to your node configuration using any of these methods:
⁠Docker Compose
services:
  monerod:
    container_name: monerod
    image: ghcr.io/rblaine95/monero
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./monero-data:/opt/bitmonero
    command:
      - --ban-list=/opt/bitmonero/ban_list.txt
⁠Docker CLI
docker run \
  -dit \
  --restart=always \
  --net=host \
  --name=monerod \
  -v /path/to/bitmonero:/opt/bitmonero \
  -v /path/to/ban_list.txt:/ban_list.txt \
  ghcr.io/rblaine95/monero \
    --ban-list=/ban_list.txt
⁠Important notes
  • Using the ban list is optional but recommended by MRL
  • The ban list is maintained at Boog900/monero-ban-list⁠
  • You may want to periodically update your ban list to include newly identified spy nodes
  • The effectiveness of the ban list depends on widespread adoption by node operators

⁠Usage:

docker run \
  -dit \
  --restart=always \
  --net=host \
  --name=monerod \
  -v /path/to/bitmonero:/opt/bitmonero \
  ghcr.io/rblaine95/monero ${EXTRA_MONEROD_ARGS}

Running with Tor⁠:

docker run -d --name tor \
  --restart=always \
  -p 9050:9050 \
  -v $(pwd)/tor-data:/var/lib/tor \
  ghcr.io/rblaine95/tor

docker run -d --name monerod \
  --restart=always \
  --net=host \
  -v $(pwd)/monero:/opt/bitmonero \
  ghcr.io/rblaine95/monero:0.18.3.4-2 \
    --non-interactive \
    --no-igd \
    --confirm-external-bind \
    --rpc-restricted-bind-port=18089 \
    --rpc-restricted-bind-ip=0.0.0.0 \
    --enable-dns-blocklist \
    --pad-transactions \
    --proxy=127.0.0.1:9050 \
    --tx-proxy=tor,127.0.0.1:9050,16

⁠Where can I download this image?

I'm using Github Actions to build and publish this image to:

⁠I want to buy you a coffee

This is just a hobby project for me, if you really want to buy me a coffee, thank you :)

Monero: 83TeC9hCsZjjUcvNVH6VD64FySQ2uTbgw6ETfzNJa51sJaM6XL4NParSNsKqEQN4znfpbtVj84smigtLBtT1AW6BTVQVQGh
XMR Address

⁠I don't have Monero

You should definitly get some.

Tag summary

Content type

Image

Digest

sha256:1d1fa8674…

Size

124.3 MB

Last updated

about 12 hours ago

docker pull rblaine/monero