62 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
with lib; {
 | 
						|
  config = {
 | 
						|
    environment.etc."fail2ban/filter.d/gitea.local".text = ''
 | 
						|
      [Definition]
 | 
						|
      failregex = .*(Failed authentication attempt|invalid credentials|Attempted access of unknown user).* from <HOST>
 | 
						|
      ignoreregex =
 | 
						|
    '';
 | 
						|
 | 
						|
    services = {
 | 
						|
      nginx = {
 | 
						|
        virtualHosts."git.posixlycorrect.com" = {
 | 
						|
          enableACME = true;
 | 
						|
          forceSSL = true;
 | 
						|
          extraConfig = ''
 | 
						|
            proxy_headers_hash_max_size 512;
 | 
						|
            proxy_headers_hash_bucket_size 128;
 | 
						|
          '';
 | 
						|
          locations."/".proxyPass = "http://localhost:9170";
 | 
						|
        };
 | 
						|
      };
 | 
						|
 | 
						|
      fail2ban.jails.gitea.settings = {
 | 
						|
        filter = "gitea";
 | 
						|
        logpath = "${config.services.gitea.stateDir}/log/gitea.log";
 | 
						|
        maxretry = "10";
 | 
						|
        findtime = "3600";
 | 
						|
        bantime = "900";
 | 
						|
        action = "iptables-allports";
 | 
						|
      };
 | 
						|
 | 
						|
      forgejo = {
 | 
						|
        enable = true;
 | 
						|
        lfs.enable = true;
 | 
						|
        useWizard = false;
 | 
						|
        settings = {
 | 
						|
          general.APP_NAME = "posixlycorrect";
 | 
						|
          ui.DEFAULT_THEME = "forgejo-dark";
 | 
						|
          server = {
 | 
						|
            DOMAIN = "git.posixlycorrect.com";
 | 
						|
            ROOT_URL = "https://git.posixlycorrect.com";
 | 
						|
            HTTP_PORT = 9170;
 | 
						|
            LANDING_PAGE = "explore";
 | 
						|
          };
 | 
						|
 | 
						|
          service.DISABLE_REGISTRATION = true;
 | 
						|
 | 
						|
          actions = {
 | 
						|
            ENABLED = true;
 | 
						|
          };
 | 
						|
          mailer = {
 | 
						|
            ENABLED = false;
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |