Merge pull request #281000 from cablespaghetti/master

sabnzbd: Add configurability of state directory owner and firewall
This commit is contained in:
Adam C. Stephens 2024-02-21 08:37:46 -05:00 committed by GitHub
commit d1e2847664
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -36,6 +36,14 @@ in
default = "sabnzbd";
description = lib.mdDoc "Group to run the service as";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Open ports in the firewall for the sabnzbd web interface
'';
};
};
};
@ -43,17 +51,16 @@ in
###### implementation
config = mkIf cfg.enable {
users.users.sabnzbd = {
uid = config.ids.uids.sabnzbd;
group = "sabnzbd";
description = "sabnzbd user";
home = "/var/lib/sabnzbd/";
createHome = true;
users.users = mkIf (cfg.user == "sabnzbd") {
sabnzbd = {
uid = config.ids.uids.sabnzbd;
group = cfg.group;
description = "sabnzbd user";
};
};
users.groups.sabnzbd = {
gid = config.ids.gids.sabnzbd;
users.groups = mkIf (cfg.group == "sabnzbd") {
sabnzbd.gid = config.ids.gids.sabnzbd;
};
systemd.services.sabnzbd = {
@ -63,10 +70,15 @@ in
serviceConfig = {
Type = "forking";
GuessMainPID = "no";
User = "${cfg.user}";
Group = "${cfg.group}";
User = cfg.user;
Group = cfg.group;
StateDirectory = "sabnzbd";
ExecStart = "${lib.getBin cfg.package}/bin/sabnzbd -d -f ${cfg.configFile}";
};
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 8080 ];
};
};
}