Go to file
Adrian Schmutzler 36e99bec52 Changelog: Update
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2019-05-11 23:53:21 +02:00
alfred-monitoring-proxy Handle even larger requests 2016-02-17 02:47:13 +01:00
contrib Rename net_if from router_neighbor table to netif 2017-12-30 18:21:08 +01:00
ffmap Changelog: Update 2019-05-11 23:53:21 +02:00
gwinfo gwinfo: Fix IPv4/IPv6 sed (leading space in match pattern, v1.4.6) 2018-11-23 13:14:51 +01:00
scripts Remove hoodsv1 table and corresponding interface with KeyXchangeV1 2019-05-11 23:52:32 +02:00
.gitignore gitignore: Add mysqlconfig 2017-11-19 15:59:12 +01:00
install.sh map: Remove V1 hood layer 2019-05-11 23:51:59 +02:00
README.md Put git branch logic explanation into README.md 2018-11-23 14:14:10 +01:00
restart.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00
setup.py setup.py: Update link to GitHub for service 2019-05-11 23:50:43 +02:00
start.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00
stop.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00

Git Repository Logic

  • Frequent updates are made to the testing branch, which is considered "dirty". Commits appearing here may be quickly written, untested, incomplete, etc. This is where the development happens.
  • In unspecified intervals, the piled-up changes in the testing branch are reviewed, ordered and squashed to a smaller set of tidy commits. Those are then pushed to the master branch.
  • The tidy-up is marked by an empty commit "Realign with master" in the testing branch. This is roughly equivalent to a merge, although for an actual merge the commits would remain unaltered.
  • Development happens in the testing branch. Thus, testing is more up-to-date, but master is better to understand.
  • The Monitoring web server uses the testing branch.

Debian Dependencies

apt-get install mysql-server python3-mysqldb python python3 python3-requests python3-lxml python3-pip python3-flask python3-dateutil python3-numpy python3-scipy python3-mapnik python3-pip uwsgi-plugin-python3 nginx
pip3 install wheel pymongo pillow modestmaps simplejson werkzeug

When updating

apt-get install mysql-server python3-mysqldb python3-mapnik
apt-get uninstall mongodb python-mapnik uwsgi-plugin-python tilestache
pip3 install wheel pillow modestmaps simplejson werkzeug
pip3 uninstall uuid

Prerequisites

  • Datenbank in MySQL anlegen
  • Git vorbereiten:
git clone https://github.com/asdil12/fff-monitoring
git clone https://github.com/TileStache/TileStache
cd fff-monitoring
cp ffmap/mysqlconfig.example.py ffmap/mysqlconfig.py
  • MySQL Zugangsdaten in mysqlconfig.py eintragen

Installation

./install.sh
systemctl daemon-reload
systemctl enable uwsgi-ffmap
systemctl enable uwsgi-tiles
systemctl start uwsgi-ffmap
systemctl start uwsgi-tiles
cd ffmap/db/
./init_db.py
# Then apply NGINX Config
cd ../.. # go back to fff-monitoring root directory
./scripts/setupcron.sh

NGINX Config

server {
	listen 443 ssl default_server;
	listen [::]:443 ssl default_server;

...

	location / {
		include uwsgi_params;
		uwsgi_pass 127.0.0.1:3031;
		client_max_body_size 30M;
	}

	location /tiles {
		include uwsgi_params;
		uwsgi_pass 127.0.0.1:3032;
	}
	
	location /static/ {
		root /usr/share/ffmap/;
		expires max;
		add_header Cache-Control "public";
	}

...

}

Admin anlegen

  • User über WebUI anlegen
  • Dann über z.B. phpmyadmin in der Tabelle users 'admin' auf 1 setzen