44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Sources for this configuration:
 | |
| # - https://woodpecker-ci.org/docs/administration/deployment/nixos
 | |
| # - https://woodpecker-ci.org/docs/administration/server-config
 | |
| # - https://woodpecker-ci.org/docs/administration/database
 | |
| # - https://woodpecker-ci.org/docs/administration/forges/forgejo
 | |
| # - https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
 | |
| 
 | |
| { config, pkgs, ... }:
 | |
| 
 | |
| {
 | |
|   services.woodpecker-server = {
 | |
|     enable = true;
 | |
|     package = pkgs.woodpecker-server;
 | |
|     environment = {
 | |
|       WOODPECKER_HOST = "https://woodpecker.hamburg.ccc.de";
 | |
|       WOODPECKER_SERVER_ADDR = ":8001";
 | |
|       WOODPECKER_GRPC_ADDR = ":9000";
 | |
|       WOODPECKER_ADMIN = "june";
 | |
|       WOODPECKER_OPEN = "true";
 | |
|       WOODPECKER_ORGS = "CCCHH";
 | |
|       WOODPECKER_DATABASE_DRIVER = "postgres";
 | |
|       WOODPECKER_DATABASE_DATASOURCE = "postgresql://woodpecker-server@/woodpecker-server?host=/run/postgresql";
 | |
|       WOODPECKER_FORGEJO = "true";
 | |
|       WOODPECKER_FORGEJO_URL = "https://git.hamburg.ccc.de";
 | |
|       WOODPECKER_LIMIT_MEM = "6442450944"; # 6GB
 | |
|       # Set via enviornmentFile:
 | |
|       # WOODPECKER_FORGEJO_CLIENT
 | |
|       # WOODPECKER_FORGEJO_SECRET
 | |
|     };
 | |
|     environmentFile = [ "/run/secrets/woodpecker_server_environment_file" ];
 | |
|   };
 | |
| 
 | |
|   systemd.services.woodpecker-server.serviceConfig = {
 | |
|     User = "woodpecker-server";
 | |
|     Group = "woodpecker-server";
 | |
|   };
 | |
| 
 | |
|   sops.secrets."woodpecker_server_environment_file" = {
 | |
|     mode = "0440";
 | |
|     owner = "root";
 | |
|     group = "root";
 | |
|     restartUnits = [ "woodpecker-server.service" ];
 | |
|   };
 | |
| }
 |