The HopGlass Server collects data from Freifunk networks and processes it to be used in HopGlass, for statistics and other purposes.
Install a recent version of NodeJS. It is recommended to use your distribution's package manager: https://nodejs.org/en/download/package-manager/
Clone the hopglass-server repository to /opt/hopglass/server
mkdir -p /opt/hopglass git clone https://github.com/hopglass/hopglass-server /opt/hopglass/server
Install NPM dependencies with yarn
cd /opt/hopglass/server yarn install
Copy the systemd service file to /etc/systemd/system
, or create an init-script if your distribution does not support systemd.
cp /opt/hopglass/server/hopglass-server@.service /etc/systemd/system/ systemctl daemon-reload
Start the HopGlass Server: # systemctl start hopglass-server@default
systemctl start hopglass-server@default
(Optional) Automatically start the HopGlass Server at boot:
systemctl enable hopglass-server@default
Optionally create a configuration file in /etc/hopglass-server/default/config.json
, and an aliases file in /var/lib/hopglass-server/default/aliases.json
.
Ensure, that the ports, you configured are open in your firewall (default port 1001 UDP and 45123 UDP).
You might want to
Warning: The HopGlass Server is subject to major changes. Updates may require manual intervention.
For a start, you can try this:
pull
cd /opt/hopglass/server git pull
Copy the new systemd service file to /etc/systemd/system
or /lib/systemd/system/
and reload with:
cp /opt/hopglass/server/hopglass-server@.service /etc/systemd/system/ systemctl daemon-reload
check for possible needed changes in the config.json
diff config.json config.json.example
rebuild the server:
cd /opt/hopglass/server yarn install
restart the service
systemctl restart hopglass-server@default
Note: The default paths for configuration and state files might have changed. Make sure your config.json, raw.json and aliases.json are located in /etc/hopglass-server/default/config.json
, /var/lib/hopglass-server/default/aliases.json
and /var/lib/hopglass-server/default/raw.json
respectively.
Query Location | Description |
---|---|
/nodes.json | HopGlass nodes.json v2 |
/graph.json | HopGlass graph.json v1 |
/mv/nodes.json | Meshviewer nodes.json v2 |
/mv/graph.json | Meshviewer graph.json v1 |
/mv1/nodes.json | Meshviewer nodes.json v1 |
/mv1/graph.json | Meshviewer graph.json v1 |
/raw.json | Raw data collected, same as the raw.json save file |
/nodelist.json | nodelist.json format (github.com/ffansbach/nodelist) |
/hosts | hosts file to be placed in /etc/hosts |
/metrics | Prometheus metrics |
/wifi-aliases.txt | Aliases file for Wifi Analyzer app |
/WifiAnalyzer_Alias.txt | Aliases file for Wifi Analyzer app |
/ffapi.json | Freifunk API file |
/nodes.zone | Named DNS zone file |
hostname
, and nodeid
):oldmaster (outdated)
v0.1.0 (outdated)
v0.1.1 (outdated)
v0.1.2 (outdated)
v0.1.3 (outdated)
v1.0.0 (current)
v2.0.0 (next)