Fix service uid/gids
This commit is contained in:
		
							parent
							
								
									9060cb6414
								
							
						
					
					
						commit
						bd7e4a3193
					
				
					 3 changed files with 28 additions and 11 deletions
				
			
		|  | @ -4,6 +4,12 @@ | ||||||
|   ids.uids = { |   ids.uids = { | ||||||
|     # System user ids start at 400 (see nixos/modules/programs/shadow.nix) |     # System user ids start at 400 (see nixos/modules/programs/shadow.nix) | ||||||
|     webserver = 400; |     webserver = 400; | ||||||
|  |     minecraft = 401; | ||||||
|     # The limit is 999 |     # The limit is 999 | ||||||
|   }; |   }; | ||||||
|  | 
 | ||||||
|  |   ids.gids = { | ||||||
|  |     webserver = 400; | ||||||
|  |     minecraft = 401; | ||||||
|  |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -54,6 +54,16 @@ in { | ||||||
|   nixpkgs.config.allowUnfreePredicate = pkg: |   nixpkgs.config.allowUnfreePredicate = pkg: | ||||||
|     builtins.elem (lib.getName pkg) [ "forge-server" ]; |     builtins.elem (lib.getName pkg) [ "forge-server" ]; | ||||||
| 
 | 
 | ||||||
|  |   users = { | ||||||
|  |     extraUsers.minecraft = { | ||||||
|  |       uid = config.ids.uids.minecraft; | ||||||
|  |       group = config.users.extraGroups.minecraft.name; | ||||||
|  |       isSystemUser = true; | ||||||
|  |       description = "Minecraft server user"; | ||||||
|  |     }; | ||||||
|  |     extraGroups.minecraft = { gid = config.ids.gids.minecraft; }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|   virtualisation.oci-containers.containers.minecraft-voor-kia = let |   virtualisation.oci-containers.containers.minecraft-voor-kia = let | ||||||
|     properties = ./configs/minecraft/voor-kia/server.properties; |     properties = ./configs/minecraft/voor-kia/server.properties; | ||||||
|     icon = ./configs/minecraft/voor-kia/server-icon.png; |     icon = ./configs/minecraft/voor-kia/server-icon.png; | ||||||
|  | @ -73,9 +83,8 @@ in { | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|       config = let |       config = let | ||||||
|         # Use the upstream minecraft uid |         uid = toString config.users.extraUsers.minecraft.uid; | ||||||
|         uid = toString config.ids.uids.minecraft; |         gid = toString config.users.extraGroups.minecraft.gid; | ||||||
|         gid = toString config.users.groups.nogroup.gid; |  | ||||||
|       in { |       in { | ||||||
|         Cmd = [ "forge-server" ] ++ minecraft-server-args; |         Cmd = [ "forge-server" ] ++ minecraft-server-args; | ||||||
|         WorkingDir = "/var/lib/minecraft"; |         WorkingDir = "/var/lib/minecraft"; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,15 @@ | ||||||
| { config, pkgs, ... }: | { config, pkgs, ... }: | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   users.extraUsers.webserver = { |   users = { | ||||||
|  |     extraUsers.webserver = { | ||||||
|       uid = config.ids.uids.webserver; |       uid = config.ids.uids.webserver; | ||||||
|  |       group = config.users.extraGroups.webserver.name; | ||||||
|       isSystemUser = true; |       isSystemUser = true; | ||||||
|       description = "tlater.net web server user"; |       description = "tlater.net web server user"; | ||||||
|     }; |     }; | ||||||
|  |     extraGroups.webserver = { gid = config.ids.gids.webserver; }; | ||||||
|  |   }; | ||||||
| 
 | 
 | ||||||
|   virtualisation.oci-containers.containers.webserver = { |   virtualisation.oci-containers.containers.webserver = { | ||||||
|     image = "tlaternet/webserver"; |     image = "tlaternet/webserver"; | ||||||
|  | @ -16,10 +20,8 @@ | ||||||
|       contents = pkgs.tlaternet-webserver.webserver; |       contents = pkgs.tlaternet-webserver.webserver; | ||||||
| 
 | 
 | ||||||
|       config = let |       config = let | ||||||
|         user = config.users.extraUsers.webserver; |         uid = toString config.users.extraUsers.webserver.uid; | ||||||
|         group = config.users.groups.${user.group}; |         gid = toString config.users.extraGroups.webserver.gid; | ||||||
|         uid = toString user.uid; |  | ||||||
|         gid = toString group.gid; |  | ||||||
|       in { |       in { | ||||||
|         Cmd = [ "tlaternet-webserver" ]; |         Cmd = [ "tlaternet-webserver" ]; | ||||||
|         Volumes = { "/srv/mail" = { }; }; |         Volumes = { "/srv/mail" = { }; }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue