{ pkgs, lib, config, ... }: { services.phpfpm.pools.stjohnscccc = { user = "stjohnscccc"; settings = { "listen.owner" = config.services.caddy.user; "pm" = "dynamic"; "pm.max_children" = 32; # "pm.max_requests" = 500; "pm.start_servers" = 1; "pm.min_spare_servers" = 1; "pm.max_spare_servers" = 4; "php_admin_value[error_log]" = "stderr"; "php_admin_flag[log_errors]" = true; "catch_workers_output" = true; }; # phpEnv."PATH" = lib.makeBinPath [ pkgs.php ]; }; services.caddy.virtualHosts."stjohnscccc.org" = { serverAliases = ["www.stjohnscccc.org"]; extraConfig = '' root * /srv/www/stjohnscccc.org/public redir /downloads /downloads/ handle /downloads/* { file_server { browse ${./caddy-browse-template.html} hide .gitignore } } handle { encode zstd gzip php_fastcgi unix/${config.services.phpfpm.pools.stjohnscccc.socket} file_server } handle_errors { respond "{err.status_code} {err.status_text}" } ''; }; users.users.stjohnscccc = { isSystemUser = true; home = "/srv/www/stjohnscccc.org"; group = "stjohnscccc"; }; users.groups.stjohnscccc = {}; systemd.tmpfiles.settings."10-stjohnscccc.org" = { "/srv/www/stjohnscccc.org" = { d = {}; }; }; }