From b892dcbeee4319885dc8371977046c9aabfed7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 8 Feb 2019 23:31:48 +0100 Subject: Add dokuwiki --- nixops/modules/websites/tools/tools/dokuwiki.nix | 99 ++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 nixops/modules/websites/tools/tools/dokuwiki.nix (limited to 'nixops/modules/websites/tools/tools/dokuwiki.nix') diff --git a/nixops/modules/websites/tools/tools/dokuwiki.nix b/nixops/modules/websites/tools/tools/dokuwiki.nix new file mode 100644 index 0000000..5affddb --- /dev/null +++ b/nixops/modules/websites/tools/tools/dokuwiki.nix @@ -0,0 +1,99 @@ +{ lib, php, stdenv, writeText, fetchedGithub }: +let + dokuwiki = let + plugins = { + farmer = stdenv.mkDerivation (fetchedGithub ./dokuwiki-plugin-farmer.json // rec { + installPhase = '' + mkdir $out + cp -a * $out/ + ''; + }); + todo = stdenv.mkDerivation (fetchedGithub ./dokuwiki-plugin-todo.json // rec { + installPhase = '' + mkdir $out + cp -a * $out/ + ''; + }); + }; + preload = writeText "preload.php" '' + + DirectoryIndex index.php + + SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" + + + AllowOverride All + Options +FollowSymlinks + Require all granted + + ''; + }; + phpFpm = rec { + basedir = builtins.concatStringsSep ":" ( + [ webRoot varDir ] + ++ lib.attrsets.mapAttrsToList (name: value: value) plugins); + socket = "/var/run/phpfpm/dokuwiki.sock"; + pool = '' + listen = ${socket} + user = ${apache.user} + group = ${apache.group} + listen.owner = ${apache.user} + listen.group = ${apache.group} + pm = ondemand + pm.max_children = 60 + pm.process_idle_timeout = 60 + + ; Needed to avoid clashes in browser cookies (same domain) + php_value[session.name] = DokuwikiPHPSESSID + php_admin_value[open_basedir] = "${basedir}:/tmp" + php_admin_value[session.save_path] = "${varDir}/phpSessions" + ''; + }; + }; +in + dokuwiki -- cgit v1.2.3