X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fmodules%2Fwebsites%2Ftools%2Ftools%2Fyourls.nix;h=df1b3a2e822c95116599afa1af242735dc6b65d0;hb=fffbbb5623649ca7c7b32b74558a26ec5cf11abb;hp=64ec48ad290e6512084b6aa53c3b36ede4f22822;hpb=a840a21c954be6342603ae7a45dde6c005761696;p=perso%2FImmae%2FConfig%2FNix.git
diff --git a/nixops/modules/websites/tools/tools/yourls.nix b/nixops/modules/websites/tools/tools/yourls.nix
index 64ec48a..df1b3a2 100644
--- a/nixops/modules/websites/tools/tools/yourls.nix
+++ b/nixops/modules/websites/tools/tools/yourls.nix
@@ -1,111 +1,90 @@
-{ lib, env, writeText, stdenv, fetchedGithub }:
-let
- yourls = let
- plugins = {
- ldap = stdenv.mkDerivation (fetchedGithub ./yourls-ldap-plugin.json // rec {
- installPhase = ''
- mkdir -p $out
- cp plugin.php $out/
- '';
- });
- };
- in rec {
- activationScript = ''
- install -m 0755 -o ${apache.user} -g ${apache.group} -d /var/lib/php/sessions/yourls
- '';
- keys.tools-yourls = {
- destDir = "/run/keys/webapps";
- user = apache.user;
- group = apache.group;
- permissions = "0700";
- text = ''
-
-
- SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
-
+ define( 'LDAPAUTH_USERCACHE_TYPE', 0);
+ '';
+ }];
+ webRoot = (yourls.override { yourls_config = "/var/secrets/webapps/tools-yourls"; }).withPlugins
+ (builtins.attrValues yourls-plugins);
+ apache = rec {
+ user = "wwwrun";
+ group = "wwwrun";
+ modules = [ "proxy_fcgi" ];
+ webappName = "tools_yourls";
+ root = "/run/current-system/webapps/${webappName}";
+ vhostConf = ''
+ Alias /url "${root}"
+
+
+ SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
+
- AllowOverride None
- Require all granted
-
- RewriteEngine On
- RewriteBase /url/
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^.*$ /url/yourls-loader.php [L]
-
- DirectoryIndex index.php
-
- '';
- };
- phpFpm = rec {
- serviceDeps = [ "mysql.service" "openldap.service" "tools-yourls-key.service" ];
- basedir = builtins.concatStringsSep ":" (
- [ webRoot "/run/keys/webapps/tools-yourls" ]
- ++ lib.attrsets.mapAttrsToList (name: value: value) plugins);
- socket = "/var/run/phpfpm/yourls.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
+ AllowOverride None
+ Require all granted
+
+ RewriteEngine On
+ RewriteBase /url/
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule ^.*$ /url/yourls-loader.php [L]
+
+ DirectoryIndex index.php
+
+ '';
+ };
+ phpFpm = rec {
+ serviceDeps = [ "mysql.service" "openldap.service" ];
+ basedir = builtins.concatStringsSep ":" (
+ [ webRoot "/var/secrets/webapps/tools-yourls" ]
+ ++ webRoot.plugins);
+ socket = "/var/run/phpfpm/yourls.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] = YourlsPHPSESSID
- php_admin_value[open_basedir] = "${basedir}:/tmp"
- php_admin_value[session.save_path] = "/var/lib/php/sessions/yourls"
- '';
- };
+ ; Needed to avoid clashes in browser cookies (same domain)
+ php_value[session.name] = YourlsPHPSESSID
+ php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/yourls"
+ php_admin_value[session.save_path] = "/var/lib/php/sessions/yourls"
+ '';
};
-in
- yourls
+}