A simple and straightforward Dockerized monerod built from source and exposing standard ports.
I will always release the latest Monero version under the latest
tag as well as the version number tag (i.e. v0.18.0.0
).
latest
: The latest tagged version of Monero from https://github.com/monero-project/monero/tags, built on an Alpine base image
vx.xx.x.x
: The version corresponding with the tagged version from https://github.com/monero-project/monero/tags, built on an Alpine base image
I am using this container for my guide on running a Monero node:
https://sethforprivacy.com/guides/run-a-monero-node/
The ways I would generally recommend running this container for a personal or public Monero node are below.
monerod Docker w/o public RPC:
sudo docker run -d --restart unless-stopped --name="monerod" -v bitmonero:/home/monero/.bitmonero ghcr.io/sethforprivacy/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --no-igd --no-zmq --enable-dns-blocklist
monerod Docker w/ public RPC:
sudo docker run -d --restart unless-stopped --name="monerod" -v bitmonero:/home/monero/.bitmonero ghcr.io/sethforprivacy/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --public-node --no-igd --no-zmq --enable-dns-blocklist
monerod Docker w/o public RPC (pruned):
sudo docker run -d --restart unless-stopped --name="monerod" -v bitmonero:/home/monero/.bitmonero ghcr.io/sethforprivacy/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --no-igd --no-zmq --enable-dns-blocklist --prune-blockchain
monerod Docker w/ public RPC (pruned):
sudo docker run -d --restart unless-stopped --name="monerod" -v bitmonero:/home/monero/.bitmonero ghcr.io/sethforprivacy/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --public-node --no-igd --no-zmq --enable-dns-blocklist --prune-blockchain
In situations where you need the daemon to be run as a different user, I have added fixuid to enable that. Much of the work for this was taken from docker-monero, and enables you to specify a new user/group in your docker run
or docker-compose.yml
file to run as a different user.
- In
docker run
commands, you can specify the user like this:--user 1000:1000
- In
docker-compose.yml
files, you can specify the user like this:user: ${FIXUID:-1000}:${FIXGID:-1000}
A great use-case for this is running with the daemon's files stored on an NFS mount, or running monerod on a Synology NAS.
Code from this repository is released under MIT license. Monero License, @leonardochaia License
The base for the Dockerfile was pulled from:
https://github.com/leonardochaia/docker-monerod
The migration to Alpine from a Ubuntu 20.04 base image was based largely on previous commits from: