summary refs log tree commit diff
path: root/nixos/modules/services/web-servers/phpfpm
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2017-02-28 00:00:57 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2017-02-28 00:00:57 +0100
commitec4ead0bfee965be95e596d39d4b076e9fe01267 (patch)
tree01140df87d447166da913ec3bdb4860800d3b473 /nixos/modules/services/web-servers/phpfpm
parente3d58dae7f83998395259824ef83dedc33e9ab62 (diff)
downloadnixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar.gz
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar.bz2
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar.lz
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar.xz
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.tar.zst
nixlib-ec4ead0bfee965be95e596d39d4b076e9fe01267.zip
phpfpm service: add target and slice
Diffstat (limited to 'nixos/modules/services/web-servers/phpfpm')
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index f1161c9e19ff..488bd3fe0ef1 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.phpfpm;
+  enabled = cfg.poolConfigs != {} || cfg.pools != {};
 
   stateDir = "/run/phpfpm";
 
@@ -119,18 +120,30 @@ in {
     };
   };
 
-  config = {
+  config = mkIf enabled {
+
+    systemd.slices.phpfpm = {
+      description = "PHP FastCGI Process manager pools slice";
+    };
+
+    systemd.targets.phpfpm = {
+      description = "PHP FastCGI Process manager pools target";
+      wantedBy = [ "multi-user.target" ];
+    };
+
     systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig:
       nameValuePair "phpfpm-${pool}" {
-        description = "PHP FastCGI Process Manager for pool ${pool}";
+        description = "PHP FastCGI Process Manager service for pool ${pool}";
         after = [ "network.target" ];
-        wantedBy = [ "multi-user.target" ];
+        wantedBy = [ "phpfpm.target" ];
+        partOf = [ "phpfpm.target" ];
         preStart = ''
           mkdir -p ${stateDir}
         '';
         serviceConfig = let
           cfgFile = fpmCfgFile pool poolConfig;
         in {
+          Slice = "phpfpm.slice";
           PrivateTmp = true;
           PrivateDevices = true;
           ProtectSystem = "full";