commit
						905ee93a35
					
				
							
								
								
									
										61
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,61 @@
 | 
			
		||||
## Dockerfile for eth-net-intelligence-api (build from git).
 | 
			
		||||
##
 | 
			
		||||
## Build via:
 | 
			
		||||
#
 | 
			
		||||
# `docker build -t ethnetintel:latest .`
 | 
			
		||||
#
 | 
			
		||||
## Run via:
 | 
			
		||||
#
 | 
			
		||||
# `docker run -v <path to app.json>:/home/ethnetintel/eth-net-intelligence-api/app.json ethnetintel:latest`
 | 
			
		||||
#
 | 
			
		||||
## Make sure, to mount your configured 'app.json' into the container at
 | 
			
		||||
## '/home/ethnetintel/eth-net-intelligence-api/app.json', e.g.
 | 
			
		||||
## '-v /path/to/app.json:/home/ethnetintel/eth-net-intelligence-api/app.json'
 | 
			
		||||
## 
 | 
			
		||||
## Note: if you actually want to monitor a client, you'll need to make sure it can be reached from this container.
 | 
			
		||||
##       The best way in my opinion is to start this container with all client '-p' port settings and then 
 | 
			
		||||
#        share its network with the client. This way you can redeploy the client at will and just leave 'ethnetintel' running. E.g. with
 | 
			
		||||
##       the python client 'pyethapp':
 | 
			
		||||
##
 | 
			
		||||
#
 | 
			
		||||
# `docker run -d --name ethnetintel \
 | 
			
		||||
# -v /home/user/app.json:/home/ethnetintel/eth-net-intelligence-api/app.json \
 | 
			
		||||
# -p 0.0.0.0:30303:30303 \
 | 
			
		||||
# -p 0.0.0.0:30303:30303/udp \
 | 
			
		||||
# ethnetintel:latest`
 | 
			
		||||
#
 | 
			
		||||
# `docker run -d --name pyethapp \
 | 
			
		||||
# --net=container:ethnetintel \
 | 
			
		||||
# -v /path/to/data:/data \
 | 
			
		||||
# pyethapp:latest`
 | 
			
		||||
#
 | 
			
		||||
## If you now want to deploy a new client version, just redo the second step.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM debian
 | 
			
		||||
 | 
			
		||||
RUN apt-get update &&\
 | 
			
		||||
    apt-get install -y curl git-core &&\
 | 
			
		||||
    curl -sL https://deb.nodesource.com/setup | bash - &&\
 | 
			
		||||
    apt-get update &&\
 | 
			
		||||
    apt-get install -y nodejs
 | 
			
		||||
 | 
			
		||||
RUN apt-get update &&\
 | 
			
		||||
    apt-get install -y build-essential
 | 
			
		||||
 | 
			
		||||
RUN adduser ethnetintel
 | 
			
		||||
 | 
			
		||||
RUN cd /home/ethnetintel &&\
 | 
			
		||||
    git clone https://github.com/cubedro/eth-net-intelligence-api &&\
 | 
			
		||||
    cd eth-net-intelligence-api &&\
 | 
			
		||||
    npm install &&\
 | 
			
		||||
    npm install -g pm2
 | 
			
		||||
 | 
			
		||||
RUN echo '#!/bin/bash\nset-e\n\ncd /home/ethnetintel/eth-net-intelligence-api\n/usr/bin/pm2 start ./app.json\ntail -f \
 | 
			
		||||
    /home/ethnetintel/.pm2/logs/node-app-out-0.log' > /home/ethnetintel/startscript.sh
 | 
			
		||||
 | 
			
		||||
RUN chmod +x /home/ethnetintel/startscript.sh &&\
 | 
			
		||||
    chown -R ethnetintel. /home/ethnetintel
 | 
			
		||||
 | 
			
		||||
USER ethnetintel
 | 
			
		||||
ENTRYPOINT ["/home/ethnetintel/startscript.sh"]
 | 
			
		||||
@ -5,7 +5,7 @@ Ethereum Network Intelligence API
 | 
			
		||||
This is the backend service which runs along with the node for tracking the ethereum network status, fetches information through the JSON-RPC and connects through WebSockets to [eth-netstats](https://github.com/cubedro/eth-netstats) and feed information constantly.
 | 
			
		||||
 | 
			
		||||
## Prerequisite
 | 
			
		||||
* eth or geth
 | 
			
		||||
* eth, geth or pyethapp
 | 
			
		||||
* node
 | 
			
		||||
* npm
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,10 @@ Fetch and run the build shell. This will install everything you need: latest eth
 | 
			
		||||
```bash
 | 
			
		||||
bash <(curl https://raw.githubusercontent.com/cubedro/eth-net-intelligence-api/master/bin/build.sh)
 | 
			
		||||
```
 | 
			
		||||
## Installation as docker container (optional)
 | 
			
		||||
 | 
			
		||||
There is a `Dockerfile` in the root directory of the repository. Please read through the header of said file for
 | 
			
		||||
instructions on how to build/run/setup. Configuration instructions below still apply.
 | 
			
		||||
 | 
			
		||||
## Configuration
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user