Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 2.25 KB

README.md

File metadata and controls

76 lines (58 loc) · 2.25 KB

FFRN: Node-Manager

Bei dem Node-Manager des FFRN handelt es sich um die Software welche unter register.freifunk-rhein-neckar.de zur Verfügung steht. Sie wird genutzt um die Knoten zu registrieren und so die fastd Keys zu erfassen.

Installation

Abhängigkeiten:

  • python3
  • python3-venv (*)
  • supervisor (*)

* falls so wie hier beschrieben konfiguriert

Vorarbeiten

Es muss eine Konfigurationsdatei mit dem Namen settings.conf erstellt werden. Dafür am besten die settings-example.conf nach settings.conf kopieren und anpassen.

Der in fastd_path konfigurierte Ordner muss aktuell ein git Repository mit konfigurierten Remotes sein.

virtual enviroment (venv) aufsetzen

Die Idee ist es alle in der requirements.txt gennanten Abhängigkeiten in ein virtual environments zu installieren. Dafür muss dieses erstellt und die Pakete in diesem installiert werden:

python3 -m venv venv                # venv erstellen
source venv/bin/activate            # venv aktivieren
pip install -r requirements.txt     # Abhängigkeiten installieren
deactivate                          # venv wieder verlassen

autostart mit supervisor einrichten

Als erstes supervisor installieren, dann die folgende Datei in beispielsweise /etc/supervisor/conf.d/ffrn-node-manager.conf anlegen:

Es sollte am besten ein komplett unpriviligierter Benutzer erstellt werden unter dem gunicorn laufen kann.

[program:ffrn-node-manager]
command = /opt/ffrn-node-manager/venv/bin/gunicorn backend:app -b 127.0.0.1:8432
directory = /opt/ffrn-node-manager/
user=ffrn-node-manager
autostart=true
autorestart=true

Nun noch supervisor die Konfigruation einlesen lassen:

supervisorctl reread
supervisorctl update
supervisorctl status ffrn-node-manager

Das sollte es gewesen sein. Auf Port 127.0.0.1:8432 sollte nun der Node-Manager laufen.

nginx proxy einrichten

Nun noch einen Proxy einrichten damit ein Zugriff von außen möglich ist.

Update

Eventuell könnte das folgende (ungetestete) funktionieren:

cd /opt/ffrn-node-manager/
source venv/bin/activate
pip install --upgrade -r requirements.txt
deactivate

Ein Export der aktuellen Versionen kann dann mittels pip freeze erfolgen.