Updated fcgiwrap's systemd unit to match upstream version.
This commit is contained in:
parent
519c696bcf
commit
d9078d03a3
|
@ -4,7 +4,6 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.fcgiwrap;
|
cfg = config.services.fcgiwrap;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
@ -21,29 +20,53 @@ in {
|
||||||
description = "Number of processes to prefork.";
|
description = "Number of processes to prefork.";
|
||||||
};
|
};
|
||||||
|
|
||||||
bindSocket = mkOption {
|
socketType = mkOption {
|
||||||
type = types.string;
|
type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6");
|
||||||
default = "unix:/run/fcgiwrap.sock";
|
default = "unix";
|
||||||
description = ''
|
description = "Socket type: 'unix', 'tcp' or 'tcp6'.";
|
||||||
Socket to bind to. Valid socket URLs are:
|
};
|
||||||
unix:/path/to/socket for Unix sockets
|
|
||||||
tcp:dot.ted.qu.ad:port for IPv4 sockets
|
socketAddress = mkOption {
|
||||||
tcp6:[ipv6_addr]:port for IPv6 sockets
|
type = types.str;
|
||||||
'';
|
default = "/run/fcgiwrap.sock";
|
||||||
|
example = "1.2.3.4:5678";
|
||||||
|
description = "Socket address. In case of a UNIX socket, this should be its filesystem path.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = "User permissions for the socket.";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = "Group permissions for the socket.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
systemd.services.fcgiwrap = {
|
systemd.services.fcgiwrap = {
|
||||||
after = [ "nss-user-lookup.target" ];
|
after = [ "nss-user-lookup.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = optional (cfg.socketType != "unix") "multi-user.target";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} -s ${cfg.bindSocket}";
|
ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} ${
|
||||||
};
|
if (cfg.socketType != "unix") then "-s ${cfg.socketType}:${cfg.socketAddress}" else ""
|
||||||
|
}";
|
||||||
|
} // (if cfg.user != null && cfg.group != null then {
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
} else { } );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.sockets = if (cfg.socketType == "unix") then {
|
||||||
|
fcgiwrap = {
|
||||||
|
wantedBy = [ "sockets.target" ];
|
||||||
|
socketConfig.ListenStream = cfg.socketAddress;
|
||||||
|
};
|
||||||
|
} else { };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue