37 lines
		
	
	
	
		
			993 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			993 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ config, ... }:
 | 
						|
{
 | 
						|
  services.nginx = {
 | 
						|
    enable = true;
 | 
						|
    virtualHosts."git.nekover.se" = {
 | 
						|
      forceSSL = true;
 | 
						|
      enableACME = true;
 | 
						|
      listen = [
 | 
						|
        {
 | 
						|
          addr = "0.0.0.0";
 | 
						|
          port = 80;
 | 
						|
        }
 | 
						|
        {
 | 
						|
          addr = "0.0.0.0";
 | 
						|
          port = 8443;
 | 
						|
          ssl = true;
 | 
						|
          extraParameters = [ "proxy_protocol" ];
 | 
						|
        }
 | 
						|
      ];
 | 
						|
 | 
						|
      locations."/" = {
 | 
						|
        proxyPass = "${config.services.forgejo.settings.server.PROTOCOL}://${config.services.forgejo.settings.server.HTTP_ADDR}:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}";
 | 
						|
      };
 | 
						|
 | 
						|
      # Disallow crawling archives to save disk space.
 | 
						|
      # See: https://forgejo.org/docs/latest/admin/search-engines-indexation/
 | 
						|
      locations."/robots.txt" = {
 | 
						|
        return = "200 \"User-agent: *\\nDisallow: /*/*/archive/\\n\"";
 | 
						|
      };
 | 
						|
 | 
						|
      extraConfig = ''
 | 
						|
        set_real_ip_from 10.202.41.100;
 | 
						|
        real_ip_header proxy_protocol;
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |