@ -142,6 +142,109 @@ Example output:
Go to your browser: http://127.0.0.1:8081
Go to your browser: http://127.0.0.1:8081
## Compiling and running with Docker
The explorer can also be compiled using `docker build` as described below. By default it compiles
against latest release (`release-v0.17`) branch of monero:
```
# build using all CPU cores
docker build --no-cache -t xmrblocks .
# alternatively, specify number of cores to use (e.g. 2)
docker build --no-cache --build-arg NPROC=2 -t xmrblocks .
# to build against development branch of monero (i.e. master branch)
docker build --no-cache --build-arg NPROC=3 --build-arg MONERO_BRANCH=master -t xmrblocks .
```
- The build needs 3 GB space.
- The final container image is 179MB.
To run it, mount the monero blockchain onto the container as volume.
```
# either run in foreground
docker run -it -v < path-to-monero-blockckain-on-the-host > :/home/monero/.bitmonero -p 8081:8081 xmrblocks
# or in background
docker run -it -d -v < path-to-monero-blockchain-on-the-host > :/home/monero/.bitmonero -p 8081:8081 xmrblocks
```
Example output:
```
docker run --rm -it -v /mnt/w7/bitmonero:/home/monero/.bitmonero -p 8081:8081 xmrblocks
Staring in non-ssl mode
(2020-04-20 16:20:00) [INFO ] Crow/0.1 server is running at 0.0.0.0:8081 using 1 threads
```
### Docker Compose example
The explorer can also be built and run using Docker Compose, i.e.:
```yaml
version: '3'
services:
monerod:
image: sethsimmons/simple-monerod:latest
restart: unless-stopped
container_name: monerod
volumes:
- xmrdata:/home/monero/.bitmonero
ports:
- 18080:18080
- 18089:18089
command:
- "--rpc-restricted-bind-ip=0.0.0.0"
- "--rpc-restricted-bind-port=18089"
- "--public-node"
- "--no-igd"
- "--enable-dns-blocklist"
- "--prune-blockchain"
explore:
image: xmrblocks:latest
build: ./onion-monero-blockchain-explorer
container_name: explore
restart: unless-stopped
volumes:
- xmrdata:/home/monero/.bitmonero
ports:
- 8081:8081
command: ["./xmrblocks --daemon-url=monerod:18089 --enable-json-api --enable-autorefresh-option --enable-emission-monitor --enable-pusher"]
volumes:
xmrdata:
```
To build this image, run the following:
```bash
git clone https://github.com/moneroexamples/onion-monero-blockchain-explorer.git
docker-compose build
```
Or build and run in one step via:
```bash
git clone https://github.com/moneroexamples/onion-monero-blockchain-explorer.git
docker-compose up -d
```
When running via Docker, please use something like [Traefik ](https://doc.traefik.io/traefik/ ) or [enable SSL ](#enable-ssl-https ) to secure communications.
## The explorer's command line options
## The explorer's command line options
```
```
@ -211,6 +314,19 @@ alias xmrblocksmainnet='~/onion-monero-blockchain-explorer/build/xmrblocks --
alias xmrblockstestnet='~/onion-monero-blockchain-explorer/build/xmrblocks -t --port 8082 --mainnet-url "http://139.162.32.245:8081" --enable-pusher --enable-emission-monitor'
alias xmrblockstestnet='~/onion-monero-blockchain-explorer/build/xmrblocks -t --port 8082 --mainnet-url "http://139.162.32.245:8081" --enable-pusher --enable-emission-monitor'
```
```
Example usage when running via Docker:
```bash
# Run in foreground
docker run -it -v < path-to-monero-blockckain-on-the-host > :/home/monero/.bitmonero -p 8081:8081 xmrblocks "./xmrblocks --daemon-url=node.sethforprivacy.com:18089 --enable-json-api --enable-autorefresh-option --enable-emission-monitor --enable-pusher"
# Run in background
docker run -it -d -v < path-to-monero-blockchain-on-the-host > :/home/monero/.bitmonero -p 8081:8081 xmrblocks "./xmrblocks --daemon-url=node.sethforprivacy.com:18089 --enable-json-api --enable-autorefresh-option --enable-emission-monitor --enable-pusher"
```
Make sure to always start the portion of command line flags with `./xmrblocks` and set any flags you would like after that, as shown above.
## Enable Monero emission
## Enable Monero emission
Obtaining current Monero emission amount is not straight forward. Thus, by default it is
Obtaining current Monero emission amount is not straight forward. Thus, by default it is