mirror of
				https://github.com/materusPL/nixos-config
				synced 2025-10-28 11:10:27 +01:00 
			
		
		
		
	
		
			
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
|  | { materusArg, config, lib, ... }: | ||
|  | { | ||
|  |   options.waffentragerService.grafana.enable = materusArg.pkgs.lib.mkBoolOpt false "Enable grafana"; | ||
|  |   config = | ||
|  |     let | ||
|  |       cfg = config.waffentragerService.grafana; | ||
|  |     in | ||
|  |     lib.mkIf cfg.enable { | ||
|  |       services.grafana = { | ||
|  |         dataDir = "${config.waffentragerService.elements.path}/services/grafana"; | ||
|  |         enable = true; | ||
|  |         settings = { | ||
|  |           server = { | ||
|  |             # Listening Address | ||
|  |             http_addr = "127.0.0.1"; | ||
|  |             # and Port | ||
|  |             http_port = 3232; | ||
|  |             # Grafana needs to know on which domain and URL it's running | ||
|  |             domain = "watchman.materus.pl"; | ||
|  |             serve_from_sub_path = true; | ||
|  |           }; | ||
|  |         }; | ||
|  |       }; | ||
|  | 
 | ||
|  |       services.nginx.virtualHosts."watchman.materus.pl" = { | ||
|  |         addSSL = true; | ||
|  |         sslTrustedCertificate = "/var/lib/mnt_acme/materus.pl/chain.pem"; | ||
|  |         sslCertificateKey = "/var/lib/mnt_acme/materus.pl/key.pem"; | ||
|  |         sslCertificate = "/var/lib/mnt_acme/materus.pl/fullchain.pem"; | ||
|  |         http2 = false; | ||
|  |         http3 = true; | ||
|  |         locations."/" = { | ||
|  |           proxyPass = "http://${toString config.services.grafana.settings.server.http_addr}:${toString config.services.grafana.settings.server.http_port}"; | ||
|  |           proxyWebsockets = true; | ||
|  |           recommendedProxySettings = true; | ||
|  |         }; | ||
|  |       }; | ||
|  |     }; | ||
|  | } |