Skip to content

My personal, unprivileged, Docker Image to make running a full Monero Node as easy as possible.

License

Notifications You must be signed in to change notification settings

rblaine95/docker-monero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.