You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docker-monero-node/README.md

67 lines
2.3 KiB
Markdown

# docker-monero-node
Simple way to run a Monero node with some basic monitoring tools packaged in.
Leverages [Prometheus](https://prometheus.io/docs/introduction/overview/), [Grafana](https://grafana.com/), and [monero-exporter](https://github.com/cirocosta/monero-exporter) on top of `monerod`.
## Setup
The only requirements are [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/). Ensure those are installed on your system. There's an optional `Makefile` provided if you'd like to use that, just ensure `make` is installed.
```
# Clone and enter the repository
git clone https://github.com/lalanza808/docker-monero-node
cd docker-monero-node
# OPTIONAL: Setup Grafana password, blockchain storage location, or port and container image tag overrides
cp env-example .env
vim .env
# Build containers
docker-compose build # make build
```
The following ports will be bound for `monerod` by default, but you can override in `.env`:
- 18080 # p2p
- 18081 # restricted rpc
- 18082 # zmq
- 18083 # unrestricted rpc
The following ports will be bound for other services:
- 9090 # prometheus web ui
- 3000 # grafana web ui
- 9000 # exporter web api (/metrics)
You will want to open/allow ports 18080 and 18081 in your firewall for usage as a remote/public node (or whichever p2p and restricted ports you picked).
Also, you may want to setup a reverse proxy to Grafana if you would like to expose the visualizations for the world to see. Be sure to lock down the administrative settings or leave login disabled!
## Usage
It's fairly simple, use `docker-compose` to bring the containers up and down and look at logs.
```
# Run containers
docker-compose up -d # make up
# Check all logs
docker-compose logs -f
# Check monerod logs
docker-compose logs -f monerod # make logs
```
Navigate to http://localhost:3000 and log into Grafana. Find the `Node Stats` dashboard to get those sweet, sweet graphs.
If you've installed this on another system you will want to use [SSH tunnels](https://www.ssh.com/ssh/tunneling/example) (local forwarding) to reach Grafana (if not exposing via reverse proxy):
```
ssh <VPS OR SERVER IP> -L 3000:localhost:3000
```
Then navigate to http://localhost:3000. Here is what the graph looks like:
![](static/graf1.png)
![](static/graf2.png)