]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/eldiron.nix
Add ttrss
[perso/Immae/Config/Nix.git] / virtual / eldiron.nix
index 96efddc21c64155cd2c34f29f0b453e62a91fe33..2152aff465670c1829471a22dbad9bd22d0a4780 100644 (file)
@@ -8,7 +8,7 @@
     with import ../libs.nix;
     let
         mypkgs = pkgs.callPackage ./packages.nix {
-          inherit checkEnv fetchedGitPrivate fetchedGithub;
+          inherit checkEnv fetchedGit fetchedGitPrivate fetchedGithub;
         };
     in
   {
       # FIXME: move session files to separate dirs
       # /!\ phppackage is used in nextcloud configuation
       phpOptions = ''
+        session.save_path = "/var/lib/php/sessions"
+        session.gc_maxlifetime = 60*60*24*15
+        session.cache_expire = 60*24*30
         ; For nextcloud
         extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
         ; For nextcloud
         aten_prod = mypkgs.aten_prod.phpFpm.pool;
         nextcloud = mypkgs.nextcloud.phpFpm.pool;
         mantisbt = mypkgs.mantisbt.phpFpm.pool;
+        ttrss = mypkgs.ttrss.phpFpm.pool;
       };
     };
 
       aten_dev  = mypkgs.aten_dev.activationScript;
       aten_prod = mypkgs.aten_prod.activationScript;
       nextcloud = mypkgs.nextcloud.activationScript;
+      ttrss = mypkgs.ttrss.activationScript;
       httpd = ''
         install -d -m 0755 /var/lib/acme/acme-challenge
+        install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions
+        install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/adminer
+        install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/mantisbt
+        install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/ttrss
         '';
       redis = ''
         mkdir -p /run/redis
         mypkgs.ympd.apache.modules ++
         mypkgs.git.web.apache.modules ++
         mypkgs.mantisbt.apache.modules ++
+        mypkgs.ttrss.apache.modules ++
         pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules) apacheConfig) ++
         [ "macro" ]);
       extraConfig = builtins.concatStringsSep "\n"
           extraConfig = builtins.concatStringsSep "\n" [
             mypkgs.adminer.apache.vhostConf
             mypkgs.ympd.apache.vhostConf
+            mypkgs.ttrss.apache.vhostConf
           ];
         })
         (withConf "eldiron" // {
         "5 0 * * * root ${stats "osteopathe-cc.fr" ./packages/chloe_goaccess.conf}"
         ];
     };
+
+    systemd.services.tt-rss = {
+      description = "Tiny Tiny RSS feeds update daemon";
+      serviceConfig = {
+        User = "wwwrun";
+        ExecStart = "${pkgs.php}/bin/php ${mypkgs.ttrss.webRoot}/update.php --daemon";
+        StandardOutput = "syslog";
+        StandardError = "syslog";
+        PermissionsStartOnly = true;
+      };
+
+      wantedBy = [ "multi-user.target" ];
+      requires = ["postgresql.service"];
+      after = ["network.target" "postgresql.service"];
+    };
   };
 }