X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fmodules%2Fwebsites%2Ftools%2Fdav%2Fdavical.nix;h=32f548398b3d24fbf51869f371945ebe78490a82;hb=85f5ed68104de9edd8f8e532dc0c2de931e3ca1b;hp=3f43607312b740008ccde40da0540a5991e75360;hpb=7ebcaad53a3261d8a4aefd8a64c5c7d9d8ac2fa0;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/modules/websites/tools/dav/davical.nix b/nixops/modules/websites/tools/dav/davical.nix index 3f43607..32f5483 100644 --- a/nixops/modules/websites/tools/dav/davical.nix +++ b/nixops/modules/websites/tools/dav/davical.nix @@ -16,13 +16,18 @@ let ''; }; davical = rec { - config = writeText "davical_config.php" '' + keys."dav-davical" = { + destDir = "/run/keys/webapps"; + user = apache.user; + group = apache.group; + permissions = "0400"; + text = '' pg_connect[] = "dbname=${env.postgresql.database} user=${env.postgresql.user} host=${env.postgresql.socket} password=${env.postgresql.password}"; $c->readonly_webdav_collections = false; - $c->admin_email ='davical@immae.eu'; + $c->admin_email ='davical@tools.immae.eu'; $c->restrict_setup_to_admin = true; @@ -69,6 +74,7 @@ let $c->do_not_sync_from_ldap = array('admin' => true); include('drivers_ldap.php'); ''; + }; webapp = stdenv.mkDerivation rec { version = "1.1.7"; name = "davical-${version}"; @@ -84,19 +90,21 @@ let installPhase = '' mkdir -p $out cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out - ln -s ${config} $out/config/config.php + ln -s /run/keys/webapps/dav-davical $out/config/config.php ''; buildInputs = [ gettext ]; }; webRoot = "${webapp}/htdocs"; - apache = { + apache = rec { user = "wwwrun"; group = "wwwrun"; modules = [ "proxy_fcgi" ]; + webappName = "tools_davical"; + root = "/run/current-system/webapps/${webappName}"; vhostConf = '' - Alias /davical "${webRoot}" - Alias /caldav.php "${webRoot}/caldav.php" - + Alias /davical "${root}" + Alias /caldav.php "${root}/caldav.php" + DirectoryIndex index.php index.html AcceptPathInfo On AllowOverride None @@ -129,7 +137,8 @@ let ''; }; phpFpm = rec { - basedir = builtins.concatStringsSep ":" [ webapp config awl ]; + serviceDeps = [ "postgresql.service" "openldap.service" "dav-davical-key.service" ]; + basedir = builtins.concatStringsSep ":" [ webapp "/run/keys/webapps/dav-davical" awl ]; socket = "/var/run/phpfpm/davical.sock"; pool = '' listen = ${socket}