Running a Monero Node in a Proxmox LXC

So you’ve decided to support the Monero network by running a node? Great! If you already have Proxmox VE, this guide will show you how to set it up with minimal effort.

Prerequisite

Ensure that ports 18080 and 18089 are open. If you prefer to run your node through Tor, that is also an option but not covered in this guide.

Install Docker in LXC

Run the Docker LXC installation script from the awesome tteck collection in your VE console:

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker.sh)"

Adjust Storage (If Needed)

If your SSD running PVE doesn’t have enough space, create a new folder on an external HDD and mount it to the LXC:

pct set <LXC_ID> --mp0 HDD_PATH_ON_HOST/monero,mp=/root/monero

Note: Running Monero on an HDD may result in slow performance. For the initial sync, consider using an SSD before transferring the data to an HDD.

Run Monero Node

Thanks to the prework of sethforprivacy’s guide, it is very easy to start the Monero node (adjusting the volume part as needed):

docker run -d --restart unless-stopped --name="monerod" \
    -p 18080:18080 -p 18089:18089 \
    -v /root/monero:/home/monero \
    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

Keep the Node Up-to-Date

Install watchtower to automatically update your Monero node when new versions are available:

docker run -d \
    --name watchtower --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower --cleanup \
    monerod

That’s it! Your Monero node is now up and running within a Proxmox LXC container. 🚀