1 { lib, stdenv, grocy }:
3 varDir = "/var/lib/grocy";
7 install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/data
8 install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
11 webRoot = grocy.webRoot;
15 modules = [ "proxy_fcgi" ];
17 vhostConf = socket: ''
18 Alias /grocy "${root}"
20 DirectoryIndex index.php
22 SetHandler "proxy:unix:${socket}|fcgi://localhost"
26 Options +FollowSymlinks
32 basedir = builtins.concatStringsSep ":" (
33 [ grocy grocy.yarnModules varDir ]);
35 "listen.owner" = apache.user;
36 "listen.group" = apache.group;
38 "pm.max_children" = "60";
39 "pm.process_idle_timeout" = "60";
41 # Needed to avoid clashes in browser cookies (same domain)
42 "php_value[session.name]" = "grocyPHPSESSID";
43 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
44 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";