Disambiguation
It appears that there are at least two things under the name PingPlotter: a commercial product, and a personal GitHub project. This page discusses the latter (though they seem to have the same goal in mind).
PingPlotter is a network diagnostic utility which pings specified hosts in the background, collects performance data, and logs it in a database. Very useful for diagnosing / tracking intermittently problematic networks.
See also
- PingPlotter GitHub: https://github.com/whitespring/pingplotter
Installation via Docker Compose
The GitHub’s README has some hints on this, but in short, using docker:
services:
pingplotter:
container_name: pingplotter
image: netsaver/pingplotter:latest
restart: unless-stopped
env_file:
- pingplotter.env
pingplot-db:
container_name: pingplot-db
image: postgres
restart: unless-stopped
volumes:
- ./db:/var/lib/postgresql
- ./schema.sql:/schema.sql
env_file:
- pingplotter.envIf you have a reverse-proxy , point it at http://pingplotter:9911. Otherwise, map 9911 through Docker to access the web page.
In the environment file pingplotter.env:
DATABASE_URL=postgresql://postgres:password@pingplot-db:5432/pingplot
PORT=9911
NODE_ENV=production
POSTGRES_DB=pingplot
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
(obviously, don’t make your password password!)
I did have to manually set up the database as well:
- Download
docker/schema.sqlfrom the GitHub repo and put it inschema.sql - Get to a Bash shell in the database container:
sudo docker exec -it pingplot-db bash - Set up the database:
psql -U postgres -d pingplot < /schema.sql
Database doesn't exist?
If you get problems on step 3 suggesting that there’s no such database, then (in the DB container’s shell):
su - postgrescreatedb pingplot