summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-08-28 08:26:42 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-08-28 08:26:42 +0200
commit5061fe0c2c7743370e1d379d6fa60eed26ff1470 (patch)
tree4a4ee79a6e0694d3c7ad6fbeff33343d83458e6c /nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
parenta2538606e3115e16db2e5075ecf37b886ad64ede (diff)
parent98640fd48212f8e6552517f667bba1901f5936d4 (diff)
Merge staging-next into staging
Diffstat (limited to 'nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix')
-rw-r--r--nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix45
1 files changed, 23 insertions, 22 deletions
diff --git a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
index 6e5e5470c17f..195ee76ff4e3 100644
--- a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
+++ b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
@@ -1,14 +1,16 @@
{ config, lib, pkgs, ... }: with lib; let
cfg = config.services.icingaweb2;
+ fpm = config.services.phpfpm.pools.${poolName};
poolName = "icingaweb2";
- phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
defaultConfig = {
global = {
- module_path = "${pkgs.icingaweb2}/modules${optionalString (builtins.length config.modulePath > 0) ":${concatStringsSep ":" config.modulePath}"}";
+ module_path = "${pkgs.icingaweb2}/modules";
};
};
in {
+ meta.maintainers = with maintainers; [ das_j ];
+
options.services.icingaweb2 = with types; {
enable = mkEnableOption "the icingaweb2 web interface";
@@ -162,27 +164,26 @@ in {
};
config = mkIf cfg.enable {
- services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
- ${poolName} = ''
- listen = "${phpfpmSocketName}"
- listen.owner = nginx
- listen.group = nginx
- listen.mode = 0600
- user = icingaweb2
- pm = dynamic
- pm.max_children = 75
- pm.start_servers = 2
- pm.min_spare_servers = 2
- pm.max_spare_servers = 10
- '';
+ services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
+ "${poolName}" = {
+ user = "icingaweb2";
+ phpOptions = ''
+ extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
+ date.timezone = "${cfg.timezone}"
+ '';
+ settings = mapAttrs (name: mkDefault) {
+ "listen.owner" = "nginx";
+ "listen.group" = "nginx";
+ "listen.mode" = "0600";
+ "pm" = "dynamic";
+ "pm.max_children" = 75;
+ "pm.start_servers" = 2;
+ "pm.min_spare_servers" = 2;
+ "pm.max_spare_servers" = 10;
+ };
+ };
};
- services.phpfpm.phpOptions = mkIf (cfg.pool == "${poolName}")
- ''
- extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
- date.timezone = "${cfg.timezone}"
- '';
-
systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ];
services.nginx = {
@@ -206,7 +207,7 @@ in {
include ${config.services.nginx.package}/conf/fastcgi.conf;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass unix:${phpfpmSocketName};
+ fastcgi_pass unix:${fpm.socket};
fastcgi_param SCRIPT_FILENAME ${pkgs.icingaweb2}/public/index.php;
'';
};