mirror of
				https://github.com/materusPL/nixos-config
				synced 2025-11-04 06:20:27 +01:00 
			
		
		
		
	waffentrager: add gitea
This commit is contained in:
		
							parent
							
								
									68e64038ff
								
							
						
					
					
						commit
						d1cf546ac6
					
				@ -5,8 +5,12 @@
 | 
				
			|||||||
      ./elements.nix
 | 
					      ./elements.nix
 | 
				
			||||||
      ./postgresql.nix
 | 
					      ./postgresql.nix
 | 
				
			||||||
      ./mount-acme.nix
 | 
					      ./mount-acme.nix
 | 
				
			||||||
 | 
					      ./gitea.nix
 | 
				
			||||||
 | 
					      ./nginx.nix
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  waffentragerService.elements.enable = true;
 | 
					  waffentragerService.elements.enable = true;
 | 
				
			||||||
  waffentragerService.postgresql.enable = true;
 | 
					  waffentragerService.postgresql.enable = true;
 | 
				
			||||||
  waffentragerService.mount-acme.enable = true;
 | 
					  waffentragerService.mount-acme.enable = true;
 | 
				
			||||||
 | 
					  waffentragerService.gitea.enable = true;
 | 
				
			||||||
 | 
					  waffentragerService.nginx.enable = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										57
									
								
								configurations/host/waffentrager/services/gitea.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								configurations/host/waffentrager/services/gitea.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					{ materusArg, config, lib, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  options.waffentragerService.gitea.enable = materusArg.pkgs.lib.mkBoolOpt false "Enable gitea";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config =
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					      cfg = config.waffentragerService.gitea;
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    lib.mkMerge
 | 
				
			||||||
 | 
					      [
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.enable {
 | 
				
			||||||
 | 
					          waffentragerService.postgresql.enable = true;
 | 
				
			||||||
 | 
					          waffentragerService.elements.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          services.gitea.enable = true;
 | 
				
			||||||
 | 
					          services.gitea.lfs.enable = true;
 | 
				
			||||||
 | 
					          services.gitea.stateDir = "${config.waffentragerService.elements.path}/services/gitea";
 | 
				
			||||||
 | 
					          services.gitea.settings.service.DISABLE_REGISTRATION = true;
 | 
				
			||||||
 | 
					          services.gitea.domain = "baka.materus.pl";
 | 
				
			||||||
 | 
					          services.gitea.settings.server.ROOT_URL = lib.mkForce "https://baka.materus.pl/";
 | 
				
			||||||
 | 
					          services.gitea.settings.server.PROTOCOL = "fcgi+unix";
 | 
				
			||||||
 | 
					          services.gitea.database.type = "postgres";
 | 
				
			||||||
 | 
					          services.gitea.database.socket = "/var/run/postgresql/";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        (lib.mkIf (cfg.enable && config.waffentragerService.nginx.enable) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          services.nginx.virtualHosts = {
 | 
				
			||||||
 | 
					            "baka.materus.pl" = {
 | 
				
			||||||
 | 
					              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";
 | 
				
			||||||
 | 
					              addSSL = true;
 | 
				
			||||||
 | 
					              http2 = false;
 | 
				
			||||||
 | 
					              locations."/" = {
 | 
				
			||||||
 | 
					                extraConfig = ''
 | 
				
			||||||
 | 
					                  client_max_body_size 2G;
 | 
				
			||||||
 | 
					                  include ${config.services.nginx.package}/conf/fastcgi.conf;
 | 
				
			||||||
 | 
					                  include ${config.services.nginx.package}/conf/fastcgi_params;
 | 
				
			||||||
 | 
					                  proxy_http_version 1.1;
 | 
				
			||||||
 | 
					                  proxy_set_header    Host                $host;
 | 
				
			||||||
 | 
					                  proxy_set_header    X-Real-IP           $remote_addr;
 | 
				
			||||||
 | 
					                  proxy_set_header    X-Forwarded-Ssl     on;
 | 
				
			||||||
 | 
					                  proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
 | 
				
			||||||
 | 
					                  proxy_set_header    X-Forwarded-Proto   $scheme;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  fastcgi_pass  unix:/var/run/gitea/gitea.sock;
 | 
				
			||||||
 | 
					                '';
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										25
									
								
								configurations/host/waffentrager/services/nginx.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								configurations/host/waffentrager/services/nginx.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					{ materusArg, config, lib, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  options.waffentragerService.nginx.enable = materusArg.pkgs.lib.mkBoolOpt false "Enable nginx";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config =
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					      cfg = config.waffentragerService.nginx;
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    lib.mkIf cfg.enable {
 | 
				
			||||||
 | 
					      networking.firewall.allowedTCPPorts = [ 80 443 ];
 | 
				
			||||||
 | 
					      services.nginx = {
 | 
				
			||||||
 | 
					        enable = true;
 | 
				
			||||||
 | 
					        recommendedTlsSettings = true;
 | 
				
			||||||
 | 
					        recommendedOptimisation = true;
 | 
				
			||||||
 | 
					        recommendedGzipSettings = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      systemd.services.nginx = {
 | 
				
			||||||
 | 
					        requires = [ "var-lib-mnt_acme.mount" ];
 | 
				
			||||||
 | 
					        after = [ "var-lib-mnt_acme.mount" ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user