mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-11-04 07:38:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  config,
 | 
						|
  namespace,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
let
 | 
						|
  inherit (lib) mkEnableOption mkIf;
 | 
						|
  cfg = config.${namespace}.services.forgejo;
 | 
						|
in
 | 
						|
{
 | 
						|
  options.${namespace}.services.forgejo = {
 | 
						|
    enable = mkEnableOption "Whether to enable the forgejo git service.";
 | 
						|
  };
 | 
						|
 | 
						|
  config = mkIf cfg.enable {
 | 
						|
    services.forgejo = {
 | 
						|
      enable = true;
 | 
						|
 | 
						|
      database = {
 | 
						|
        type = "postgres";
 | 
						|
      };
 | 
						|
      lfs.enable = true;
 | 
						|
      settings = {
 | 
						|
        server = {
 | 
						|
          DOMAIN = "git.thevoid.cafe";
 | 
						|
          ROOT_URL = "https://git.thevoid.cafe/";
 | 
						|
          HTTP_PORT = "3030";
 | 
						|
        };
 | 
						|
        service.DISABLE_REGISTRATION = true;
 | 
						|
        actions = {
 | 
						|
          ENABLED = true;
 | 
						|
          DEFAULT_ACTIONS_URL = "github";
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
 | 
						|
    # TODO: finish this configuration
 | 
						|
 | 
						|
    services.traefik = {
 | 
						|
      dynamicConfigOptions = {
 | 
						|
        http = {
 | 
						|
          routers.forgejo = {
 | 
						|
            entryPoints = ["websecure"];
 | 
						|
            rule = "Host(`git.thevoid.cafe`)";
 | 
						|
            service = "forgejo";
 | 
						|
          };
 | 
						|
 | 
						|
          services.forgejo.loadbalancer.server = {
 | 
						|
            url = "http://localhost:3030";
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |