42 lines
		
	
	
		
			883 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			883 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ config, pkgs, lib, ... }:
 | 
						|
let
 | 
						|
  domain = "pihole.home.feal.no";
 | 
						|
  dnsHost = "192.168.10.175";
 | 
						|
  webuiListen = "127.0.1.2:5053";
 | 
						|
in {
 | 
						|
  # Flame - Homelab dashboard/linktree
 | 
						|
  virtualisation.oci-containers.containers = {
 | 
						|
    pihole = {
 | 
						|
      image = "pihole/pihole";
 | 
						|
      ports = [
 | 
						|
        "${dnsHost}:53:53/tcp"
 | 
						|
        "${dnsHost}:53:53/udp"
 | 
						|
        "${webuiListen}:80"
 | 
						|
      ];
 | 
						|
 | 
						|
      environment.TZ = "Europe/Oslo";
 | 
						|
 | 
						|
      volumes = [
 | 
						|
        "/var/lib/pihole/etc:/etc/pihole"
 | 
						|
        "/var/lib/pihole/dnsmasq:/etc/dnsmasq.d"
 | 
						|
      ];
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  services.nginx.virtualHosts."${domain}" = {
 | 
						|
    locations."/" = {
 | 
						|
      proxyPass = "http://${webuiListen}";
 | 
						|
      extraConfig = ''
 | 
						|
        rewrite /(.*) /admin/$1 break;
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    locations."/admin" = {
 | 
						|
      extraConfig = ''
 | 
						|
            rewrite  ^/admin/(.*) $scheme://${domain}/$1 break;
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 | 
						|
 |