hopglass: test if hopglass works on nixos
This commit is contained in:
		
					parent
					
						
							
								7b806690a8
							
						
					
				
			
			
				commit
				
					
						c006338aec
					
				
			
		
					 4 changed files with 129 additions and 0 deletions
				
			
		|  | @ -14,6 +14,7 @@ | |||
|       ./variables.nix | ||||
|       ./mailserver.nix | ||||
|       ./borgbackup.nix | ||||
|       ./hopglass-frontend.nix | ||||
|     ]; | ||||
| 
 | ||||
|   # Configuration options for the mailserver | ||||
|  |  | |||
							
								
								
									
										63
									
								
								hopglass-frontend.config.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								hopglass-frontend.config.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,63 @@ | |||
| { | ||||
|     "dataPath": "https://hopglass-backend.hamburg.freifunk.net/", | ||||
|     "siteName": "Freifunk Hamburg", | ||||
|     "mapSigmaScale": 1.1, | ||||
|     "showContact": false, | ||||
|     "maxAge": 30, | ||||
|     "mapLayers": [ | ||||
|         { | ||||
|             "name": "OpenStreetMap", | ||||
|             "url": "https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png", | ||||
|             "config": { | ||||
|                 "maxZoom": 18, | ||||
|                 "attribution": "© <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "name": "Satellitenbild", | ||||
|             "url": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", | ||||
|             "config": { | ||||
|                 "attribution": "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "name": "Stamen (TonerLite)", | ||||
|             "url": "https://stamen-tiles-{s}.a.ssl.fastly.net/toner-lite/{z}/{x}/{y}.png", | ||||
|             "config": { | ||||
|                 "maxZoom": 20, | ||||
|                 "attribution": "Map tiles by <a href=\"https://stamen.com\">Stamen Design</a>, <a href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a> — Map data © <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>" | ||||
|             } | ||||
|         } | ||||
|     ], | ||||
|     "nodeInfos": [ | ||||
|         { | ||||
|             "name": "Clientstatistik", | ||||
|             "href": "https://statistik.hamburg.freifunk.net/dashboard/db/freifunk-knoteninfo-knoten-id?var-region=ffhh&var-knoten={NODE_ID}", | ||||
|             "thumbnail": "https://statistik.hamburg.freifunk.net/render/dashboard-solo/db/freifunk-knoteninfo-knoten-id?panelId=1&var-region=ffhh&var-knoten={NODE_ID}&theme=light&width=530&height=332&from=now-3d", | ||||
|             "caption": "Verbundene Clients in den letzten 3 Tage an Knoten {NODE_ID}" | ||||
|         } | ||||
|     ], | ||||
|     "globalInfos": [ | ||||
|         { | ||||
|             "name": "Clientstatistik (gesamt)", | ||||
|             "href": "https://statistik.hamburg.freifunk.net/dashboard/db/freifunk-ubersicht?var-region=ffhh", | ||||
|             "thumbnail": "https://statistik.hamburg.freifunk.net/render/dashboard-solo/db/freifunk-ubersicht?panelId=1&var-region=ffhh&theme=light&width=530&height=332&from=now-3d", | ||||
|             "caption": "Verbundene Clients in den letzten 3 Tagen" | ||||
|         } | ||||
|     ], | ||||
|     "linkInfos": [], | ||||
|     "siteNames": [ | ||||
|         { "site": "ffhh", "name": "Hamburg" }, | ||||
|         { "site": "ffhh-nowe", "name": "Hamburg-NordWest" }, | ||||
|         { "site": "ffhh-ost", "name": "Hamburg-Ost" }, | ||||
|         { "site": "ffhh-sued", "name": "Hamburg-Sued" }, | ||||
|         { "site": "ffhh-west", "name": "Hamburg-West" } | ||||
|     ], | ||||
|     "domainNames": [ | ||||
|         { "domain": "ffhh_nowe", "name": "Hamburg-NordWest" }, | ||||
|         { "domain": "ffhh_ost", "name": "Hamburg-Ost" }, | ||||
|         { "domain": "ffhh_sued", "name": "Hamburg-Sued" }, | ||||
|         { "domain": "ffhh_west", "name": "Hamburg-West" } | ||||
|     ], | ||||
|     "hwImg": [] | ||||
| } | ||||
							
								
								
									
										21
									
								
								hopglass-frontend.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								hopglass-frontend.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| { config, lib, pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   hopglass-fe = (pkgs.callPackage ./pkg-hopglass-fe.nix { | ||||
|     conf = ./hopglass-frontend.config.json; | ||||
|   } ); | ||||
| in | ||||
| { | ||||
|   services.nginx.virtualHosts."map2.hamburg.freifunk.net" = { | ||||
|     forceSSL = true; | ||||
|     enableACME = true; | ||||
|     root = "${hopglass-fe}"; | ||||
|     locations."/" = { | ||||
|         extraConfig = '' | ||||
|           index index.html; | ||||
|           etag off; | ||||
|           add_header etag "\"${builtins.substring 11 32 hopglass-fe}\""; | ||||
|         ''; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										44
									
								
								pkg-hopglass-fe.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								pkg-hopglass-fe.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| { stdenv, lib, pkgs, python, nodejs-11_x, fetchFromGitHub, fetchzip, fetchurl, conf }: | ||||
| let | ||||
|   nodejs = nodejs-11_x; | ||||
|   yarn2nix = import (fetchFromGitHub { | ||||
|     rev = "3f2dbb08724bf8841609f932bfe1d61a78277232"; | ||||
|     owner = "moretea"; | ||||
|     repo = "yarn2nix"; | ||||
|     sha256 = "142av7dwviapsnahgj8r6779gs2zr17achzhr8b97s0hsl08dcl2"; | ||||
|   }) { inherit pkgs nodejs; }; | ||||
|   origPackage = builtins.fromJSON (builtins.readFile ./package.json); | ||||
|   src = fetchFromGitHub { | ||||
|     rev = "fc09b591dc2b9dd867559ea008f1177d52a824dd"; | ||||
|     owner = "hopglass"; | ||||
|     repo = "hopglass"; | ||||
|     sha256 = "0s9x466jqn7swbd35kjiaqk2lmcy9fnykhcnb1b10a2l35q655cl"; | ||||
|   }; | ||||
| in | ||||
| yarn2nix.mkYarnPackage { | ||||
|   name = "hopglass-frontend"; | ||||
|   src = src; | ||||
|   installPhase = '' | ||||
|     echo ---------------------------------------------------------------------------- installPhase | ||||
|     set -x | ||||
|     #yarn --offline build | ||||
|     ls -l | ||||
|     cp -R $src/. . | ||||
|     node_modules/.bin/grunt --force | ||||
|     mkdir -p $out | ||||
|     set +x | ||||
|   ''; | ||||
|   distPhase = '' | ||||
|     cp -Rv build/* $out/ | ||||
|     ln -s "$conf" $out/config.json | ||||
|   ''; | ||||
|   allowedReferences = [ "out" ]; | ||||
|   yarnPreBuild = '' | ||||
|     mkdir -p $HOME/.node-gyp/${nodejs.version} | ||||
|     echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion | ||||
|     ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version} | ||||
|   ''; | ||||
|   # work around some purity problems in nix | ||||
|   #yarnLock = ./yarn.lock; | ||||
|   #packageJSON = ./package.json; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Daniel Frank
				Daniel Frank