Skip to content

Commit 8f865b0

Browse files
Updated Readme
1 parent 339a900 commit 8f865b0

File tree

1 file changed

+75
-12
lines changed

1 file changed

+75
-12
lines changed

README.md

Lines changed: 75 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Netprobe Lite
1+
# Netprobe
22

3-
Simple and effective tool for measuring ISP performance at home. The tool measures several performance metrics including packet loss, latency, jitter, and DNS performance. It also aggregates these metrics into a common score, which you can use to monitor overall health of your internet connection.
3+
Simple and effective tool for measuring ISP performance at home. The tool measures several performance metrics including packet loss, latency, jitter, and DNS performance. It also has an optional speed test to measure bandwidth. Netprobe aggregates these metrics into a common score, which you can use to monitor overall health of your internet connection.
44

55
## Support the Project
66

@@ -17,14 +17,16 @@ https://youtu.be/Wn31husi6tc
1717

1818
## Requirements and Setup
1919

20-
To run Netprobe Lite, you'll need a PC running Docker connected directly to your ISP router. Specifically:
20+
To run Netprobe, you'll need a PC running Docker connected directly to your ISP router. Specifically:
2121

22-
1. Netprobe Lite requires the latest version of Docker. For instructions on installing Docker, see YouTube, it's super easy.
22+
1. Netprobe requires the latest version of Docker. For instructions on installing Docker, see YouTube, it's super easy.
2323

24-
2. Netprobe Lite should be installed on a machine (the 'probe') which has a wired Ethernet connection to your primary ISP router. This ensures the tests are accurately measuring your ISP performance and excluding and interference from your home network. An old PC with Linux installed is a great option for this.
24+
2. Netprobe should be installed on a machine (the 'probe') which has a wired Ethernet connection to your primary ISP router. This ensures the tests are accurately measuring your ISP performance and excluding and interference from your home network. An old PC with Linux installed is a great option for this.
2525

2626
## Installation
2727

28+
### First-time Install
29+
2830
1. Clone the repo locally to the probe machine:
2931

3032
```
@@ -43,12 +45,46 @@ docker compose up
4345
docker compose down
4446
```
4547

48+
### Upgrading Between Versions
49+
50+
When upgrading between versions, it is best to delete the deployment altogether and restart with the new code. The process is described below.
51+
52+
1. Stop Netprobe in Docker and use the -v flag to delete all volumes (warning this deletes old data):
53+
54+
```
55+
docker compose down -v
56+
```
57+
58+
2. Clone the latest code (or download manually from Github and replace the current files):
59+
60+
```
61+
git clone https://github.com/plaintextpackets/netprobe_lite.git
62+
```
63+
64+
3. Re-start Netprobe:
65+
66+
```
67+
docker compose up
68+
```
69+
4670
## How to use
4771

4872
1. Navigate to: http://x.x.x.x:3001/d/app/netprobe where x.x.x.x = IP of the probe machine running Docker.
4973

5074
2. Default user / pass is 'admin/admin'. Login to Grafana and set a custom password.
5175

76+
## How to customize
77+
78+
### Enable Speedtest
79+
80+
By default the speed test feature is disabled as many users pay for bandwidth usage (e.g. cellular connections). To enable it, edit the .env file to set the option to 'True':
81+
82+
```
83+
SPEEDTEST_ENABLED="True"
84+
```
85+
86+
Note: speedtest.net has a limit on how frequently you can connection and run the test. If you set the test to run too frequently, you will receive errors. Recommend leaving the 'SPEEEDTEST_INTERVAL' unchanged.
87+
5288
### Change Netprobe port
5389

5490
To change the port that Netprobe is running on, edit the 'compose.yml' file, under the 'grafana' section:
@@ -72,23 +108,41 @@ DNS_NAMESERVER_4_IP="8.8.8.8" # Replace this IP with the DNS server you use at h
72108

73109
Change 8.8.8.8 to the IP of the DNS server you use, then restart the application (docker compose down / docker compose up)
74110

111+
### Use external Grafana
112+
113+
Some users have their own Grafana instance running and would like to ingest Netprobe statistics there rather than running Grafana in Docker. To do this:
114+
115+
1. In the compose.yaml file, add a port mapping to the Prometheus deployment config:
116+
117+
```
118+
prometheus:
119+
...
120+
ports:
121+
- 'XXXX:9090'
122+
```
123+
... where XXXX is the port you wish to expose Prometheus on your host machine
124+
125+
2. Remove all of the Grafana configuration from the compose.yaml file
126+
127+
3. Run Netprobe and then add a datasource to your existing Grafana as http://x.x.x.x:XXXX where x.x.x.x = IP of the probe machine running Docker
128+
75129
### Data storage - default method
76130

77131
By default, Docker will store the data collected in several Docker volumes, which will persist between restarts.
78132

79133
They are:
80134

81135
```
82-
netprobe_lite_grafana_data (used to store Grafana user / pw)
83-
netprobe_lite_prometheus_data (used to store time series data)
136+
netprobe_grafana_data (used to store Grafana user / pw)
137+
netprobe_prometheus_data (used to store time series data)
84138
```
85139

86140
To clear out old data, you need to stop the app and remove these volumes:
87141

88142
```
89143
docker compose down
90-
docker volume rm netprobe_lite_grafana_data
91-
docker volume rm netprobe_lite_prometheus_data
144+
docker volume rm netprobe_grafana_data
145+
docker volume rm netprobe_prometheus_data
92146
```
93147

94148
When started again the old data should be wiped out.
@@ -144,13 +198,22 @@ mkdir -p data/grafana data/prometheus
144198

145199
### Run on startup
146200

147-
To configure the tool to work as a daemon (run on startup, keep running), edit 'compose.yml' and add the following to each service:
201+
Netprobe will automatically restart itself after the host system is rebooted, provided that Docker is also launched on startup. If you want to disable this behavior, modify the 'restart' variables in the compose.yaml file to this:
202+
203+
```
204+
restart: never
205+
```
206+
207+
### Wipe all stored data
208+
209+
To wipe all stored data and remove the Docker volumes, use this command:
148210

149211
```
150-
restart: always
212+
docker compose down -v
151213
```
214+
This will delete all containers and volumes related to Netprobe.
215+
152216

153-
More information can be found in the Docker documentation.
154217

155218
## License
156219

0 commit comments

Comments
 (0)