forked from Drift/pvv-nixos-config
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			richara-ad
			...
			add-gitea
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2f66325e25 | 
| @@ -6,10 +6,10 @@ | |||||||
|     ../../base.nix |     ../../base.nix | ||||||
|  |  | ||||||
|     # TODO: set up authentication for the following: |     # TODO: set up authentication for the following: | ||||||
|     # ./services/website/website.nix |     # ./services/website.nix | ||||||
|     # ./services/website/nginx.nix |     ./services/nginx.nix | ||||||
|     # ./services/website/gitea.nix |     ./services/gitea.nix | ||||||
|     # ./services/website/mediawiki.nix |     # ./services/mediawiki.nix | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|   sops.defaultSopsFile = ../../secrets/bekkalokk/bekkalokk.yaml; |   sops.defaultSopsFile = ../../secrets/bekkalokk/bekkalokk.yaml; | ||||||
|   | |||||||
							
								
								
									
										57
									
								
								hosts/bekkalokk/services/gitea.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								hosts/bekkalokk/services/gitea.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | { config, values, pkgs, ... }: | ||||||
|  | let | ||||||
|  |   cfg = config.services.gitea; | ||||||
|  | in { | ||||||
|  |   sops.secrets."gitea/dbpassword" = { }; | ||||||
|  |  | ||||||
|  |   services.gitea = { | ||||||
|  |     enable = true; | ||||||
|  |     user = "git"; | ||||||
|  |     rootUrl = "https://gitea.pvv.ntnu.no/"; | ||||||
|  |     stateDir = "/data/gitea"; | ||||||
|  |     appName = "PVV Git"; | ||||||
|  |  | ||||||
|  |     enableUnixSocket = true; | ||||||
|  |  | ||||||
|  |     database = { | ||||||
|  |       type = "postgres"; | ||||||
|  |       host = values.hosts.bicep.ipv4; | ||||||
|  |       port = 5432; | ||||||
|  |       passwordFile = config.sops.secrets."gitea/dbpassword".path; | ||||||
|  |       createDatabase = false; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     settings = { | ||||||
|  |       service.DISABLE_REGISTRATION = true; | ||||||
|  |       session.COOKIE_SECURE = true; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   services.nginx.virtualHosts = { | ||||||
|  |     "gitea.pvv.ntnu.no" = { | ||||||
|  |       forceSSL = true; | ||||||
|  |       enableACME = true; | ||||||
|  |       locations."/" = { | ||||||
|  |         proxyPass = "http://unix:/run/gitea/gitea.sock"; | ||||||
|  |         proxyWebsockets = true; | ||||||
|  |         recommendedProxySettings = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     "git2.pvv.ntnu.no" = { | ||||||
|  |       globalRedirect = "gitea.pvv.ntnu.no"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   users.users.git = { | ||||||
|  |     description = "Gitea service"; | ||||||
|  |     home = cfg.stateDir; | ||||||
|  |     #useDefaultShell = true; | ||||||
|  |  | ||||||
|  |     group = "gitea"; | ||||||
|  |     isSystemUser = true; | ||||||
|  |     #uid = config.ids.uids.git; | ||||||
|  |     packages = [ pkgs.gitea ]; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										28
									
								
								hosts/bekkalokk/services/nginx.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								hosts/bekkalokk/services/nginx.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | { config, ... }: | ||||||
|  | { | ||||||
|  |   security.acme = { | ||||||
|  |     acceptTerms = true; | ||||||
|  |     defaults.email = "danio@pvv.ntnu.no"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   services.nginx = { | ||||||
|  |     enable = true; | ||||||
|  |  | ||||||
|  |     recommendedTlsSettings = true; | ||||||
|  |     recommendedProxySettings = true; | ||||||
|  |     recommendedOptimisation = true; | ||||||
|  |     recommendedGzipSettings = true; | ||||||
|  |  | ||||||
|  |     # virtualHosts = { | ||||||
|  |     #   "www.pvv.ntnu.no" = { | ||||||
|  |     #     forceSSL = true; | ||||||
|  |  | ||||||
|  |     #     locations = { | ||||||
|  |     #       "/pvv" = { | ||||||
|  |     #         proxyPass = "http://localhost:${config.services.mediawiki.virtualHost.listen.pvv.port}"; | ||||||
|  |     #       }; | ||||||
|  |     #     }; | ||||||
|  |     #   }; | ||||||
|  |     # }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| { config, values, ... }: |  | ||||||
| { |  | ||||||
|   sops.secrets."postgres/gitea/password" = { }; |  | ||||||
|  |  | ||||||
|   services.gitea = { |  | ||||||
|     enable = true; |  | ||||||
|     rootUrl = "https://git2.pvv.ntnu.no/"; |  | ||||||
|     stateDir = "/data/gitea"; |  | ||||||
|     appName = "PVV Git"; |  | ||||||
|  |  | ||||||
|     enableUnixSocket = true; |  | ||||||
|  |  | ||||||
|     database = { |  | ||||||
|       type = "postgres"; |  | ||||||
|       host = values.bicep.ipv4; |  | ||||||
|       port = config.services.postgresql.port; |  | ||||||
|       passwordFile = config.sops.secrets."postgres/gitea/password".path; |  | ||||||
|       createDatabase = false; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     settings = { |  | ||||||
|       service.DISABLE_REGISTRATION = true; |  | ||||||
|       session.COOKIE_SECURE = true; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| { config, ... }: |  | ||||||
| { |  | ||||||
|   services.nginx = { |  | ||||||
|     enable = true; |  | ||||||
|  |  | ||||||
|     recommendedTlsSettings = true; |  | ||||||
|     recommendedProxySettings = true; |  | ||||||
|     recommendedOptimisation = true; |  | ||||||
|     recommendedGzipSettings = true; |  | ||||||
|  |  | ||||||
|     virtualHosts = { |  | ||||||
|       "www.pvv.ntnu.no" = { |  | ||||||
|         forceSSL = true; |  | ||||||
|  |  | ||||||
|         locations = { |  | ||||||
|           "/pvv" = { |  | ||||||
|             proxyPass = "http://localhost:${config.services.mediawiki.virtualHost.listen.pvv.port}"; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|  |  | ||||||
|       "git.pvv.ntnu.no" = { |  | ||||||
|         locations."/" = { |  | ||||||
|           proxyPass = "http://unix:${config.services.gitea.settings.server.HTTP_ADDR}"; |  | ||||||
|           proxyWebsockets = true; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
| @@ -1,11 +1,9 @@ | |||||||
| gitea: | gitea: | ||||||
|     password: ENC[AES256_GCM,data:hlNzdU1ope0t50/3aztyLeXjMHd2vFPpwURX+Iu8f49DOqgSnEMtV+KtLA==,iv:qljRnSnchL5cFmaUAfCH9GQYQxcy5cyWejgk1x6bFgI=,tag:tIhboFU5kZsj5oAQR3hLbw==,type:str] |     dbpassword: ENC[AES256_GCM,data:Tx7bFpHjXev1Q3G5Rdq5/Pg5XVro7hQFyG/FJUsiGeJOezymfk1V84VXPQ==,iv:msn8d2sarb2r+nSy1Qk1IOtkXhKDOXjcUO5dFpln1e4=,tag:Wtm1Q5FzTt1WA+uQjaVQKA==,type:str] | ||||||
| mediawiki: | mediawiki: | ||||||
|     password: ENC[AES256_GCM,data:HsBuA1E7187roGnKuFPfPDYxA16GFjAUucgUtrdUFmcOzmTNiFH+NWY2ZQ==,iv:vDYUmmZftcrkDtJxNYKAJSx9j+AQcmQarC62QRHR4IM=,tag:3TKjNrGRivFWoK3djC748g==,type:str] |     password: ENC[AES256_GCM,data:HsBuA1E7187roGnKuFPfPDYxA16GFjAUucgUtrdUFmcOzmTNiFH+NWY2ZQ==,iv:vDYUmmZftcrkDtJxNYKAJSx9j+AQcmQarC62QRHR4IM=,tag:3TKjNrGRivFWoK3djC748g==,type:str] | ||||||
| keys: | postgres: | ||||||
|     postgres: |     mediawiki: ENC[AES256_GCM,data:JsDjfDrbJHejPDZFn6TyPkDnMIX9Go62ZmRy7P+N1Ncaz5tintspO1YtIA==,iv:7EgzkRf8GP/pIMxxEkI3fzKjxr1sT4vwsqshRtkeYU0=,tag:l3DO/0sicTolInEl2mJNSA==,type:str] | ||||||
|         gitea: ENC[AES256_GCM,data:lG4P8kzp7Zq94WftN7p1RJqM65esPuTFZ2JJWkFFXTzlid2DRZPsG2FGIA==,iv:JvHQUgwwb7wJTNMxjLjOUw5sKKWlyMJafVaUOLUu9Sk=,tag:qE0+gDFU/YtghqCv/d2Qgw==,type:str] |  | ||||||
|         mediawiki: ENC[AES256_GCM,data:p+s/uQ3ywQY9RpImFWTxjt1orzl905i9kTQPzsAIs6hAK5t3B00XVzKZgQ==,iv:xp3PRrjCGFxCsRZOlJGIonBOKWJ+3/1CByc4q7O3vDw=,tag:bfKlU2Pcoq0cQjbhp+UXag==,type:str] |  | ||||||
| sops: | sops: | ||||||
|     kms: [] |     kms: [] | ||||||
|     gcp_kms: [] |     gcp_kms: [] | ||||||
| @@ -39,8 +37,8 @@ sops: | |||||||
|             RHN4RDJWWGV2ZDJzVUo1VVorNzhlMGMKCwdWOZOnibpbB5mZSCBGhj+yUZvk/vuK |             RHN4RDJWWGV2ZDJzVUo1VVorNzhlMGMKCwdWOZOnibpbB5mZSCBGhj+yUZvk/vuK | ||||||
|             hsiDo74vmsmNZ/zmN6cw60hNwhZ4NgtfXcKG8Axe+1rPUwEcrvWHIQ== |             hsiDo74vmsmNZ/zmN6cw60hNwhZ4NgtfXcKG8Axe+1rPUwEcrvWHIQ== | ||||||
|             -----END AGE ENCRYPTED FILE----- |             -----END AGE ENCRYPTED FILE----- | ||||||
|     lastmodified: "2023-01-28T23:33:14Z" |     lastmodified: "2023-04-22T23:00:19Z" | ||||||
|     mac: ENC[AES256_GCM,data:c7YytaXdAPQmCiZHH2cojJqcZna2ilGXzpnkgxgYUOSQ0n3tryOK45uVp2JDN9OJ9gS5QsLf62AlqidE0wkYYuRC6HZnwhmlMuoY3kl2sr0/Y4kJqGeODRlZoGzUIOahHkphK1Y5GBs8GW6OYk46U54wi9+BF062pYxuOCoPwD4=,iv:ZLueZpRdaD/7uvmimDUELCAtM3e9169vmoXcHz4OKfQ=,tag:Ya8tMbUBhuypXJeZ8GQmWA==,type:str] |     mac: ENC[AES256_GCM,data:/c9N6/qSzeqjzNq1buR5Z7YLp/H1wDgpnpw5G8CcTJkggzn/mDfvyNg/k/TAJl5CzH/mh20yeHTjOGOiTXubkhJya+WT01g0PVinU3+GxTUZOxkaF0rHTCRzuiSbbrJzhtvMmmgbbYSkaGBZ8+Y3VvC8qnNKzadO+QozqZbLuWY=,iv:FiMABv8OBDRJeI6VsuapFS3qOlDP+TzJE8rrYSV/F7A=,tag:GAv2Pk5U7igVAyhch+ZEeA==,type:str] | ||||||
|     pgp: |     pgp: | ||||||
|         - created_at: "2023-01-28T23:37:44Z" |         - created_at: "2023-01-28T23:37:44Z" | ||||||
|           enc: | |           enc: | | ||||||
		Reference in New Issue
	
	Block a user