diff options
Diffstat (limited to 'modules/private/websites/tools/tools/yourls.nix')
-rw-r--r-- | modules/private/websites/tools/tools/yourls.nix | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/modules/private/websites/tools/tools/yourls.nix b/modules/private/websites/tools/tools/yourls.nix deleted file mode 100644 index 3717520..0000000 --- a/modules/private/websites/tools/tools/yourls.nix +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | { env, yourls, yourls-plugins, config }: | ||
2 | rec { | ||
3 | activationScript = { | ||
4 | deps = [ "httpd" ]; | ||
5 | text = '' | ||
6 | install -m 0755 -o ${apache.user} -g ${apache.group} -d /var/lib/php/sessions/yourls | ||
7 | ''; | ||
8 | }; | ||
9 | keys."webapps/tools-yourls" = { | ||
10 | user = apache.user; | ||
11 | group = apache.group; | ||
12 | permissions = "0400"; | ||
13 | text = '' | ||
14 | <?php | ||
15 | define( 'YOURLS_DB_USER', '${env.mysql.user}' ); | ||
16 | define( 'YOURLS_DB_PASS', '${env.mysql.password}' ); | ||
17 | define( 'YOURLS_DB_NAME', '${env.mysql.database}' ); | ||
18 | define( 'YOURLS_DB_HOST', '${env.mysql.host}' ); | ||
19 | define( 'YOURLS_DB_PREFIX', 'yourls_' ); | ||
20 | define( 'YOURLS_SITE', 'https://tools.immae.eu/url' ); | ||
21 | define( 'YOURLS_HOURS_OFFSET', 0 ); | ||
22 | define( 'YOURLS_LANG', ''' ); | ||
23 | define( 'YOURLS_UNIQUE_URLS', true ); | ||
24 | define( 'YOURLS_PRIVATE', true ); | ||
25 | define( 'YOURLS_COOKIEKEY', '${env.cookieKey}' ); | ||
26 | $yourls_user_passwords = array(); | ||
27 | define( 'YOURLS_DEBUG', false ); | ||
28 | define( 'YOURLS_URL_CONVERT', 36 ); | ||
29 | $yourls_reserved_URL = array(); | ||
30 | define( 'LDAPAUTH_HOST', 'ldaps://${env.ldap.host}' ); | ||
31 | define( 'LDAPAUTH_PORT', '636' ); | ||
32 | define( 'LDAPAUTH_BASE', '${env.ldap.base}' ); | ||
33 | define( 'LDAPAUTH_SEARCH_USER', '${env.ldap.dn}' ); | ||
34 | define( 'LDAPAUTH_SEARCH_PASS', '${env.ldap.password}' ); | ||
35 | |||
36 | define( 'LDAPAUTH_GROUP_ATTR', 'memberof' ); | ||
37 | define( 'LDAPAUTH_GROUP_REQ', 'cn=admin,cn=yourls,ou=services,dc=immae,dc=eu'); | ||
38 | |||
39 | define( 'LDAPAUTH_USERCACHE_TYPE', 0); | ||
40 | ''; | ||
41 | }; | ||
42 | webRoot = (yourls.override { yourls_config = config.secrets.fullPaths."webapps/tools-yourls"; }).withPlugins (p: [p.ldap]); | ||
43 | apache = rec { | ||
44 | user = "wwwrun"; | ||
45 | group = "wwwrun"; | ||
46 | modules = [ "proxy_fcgi" ]; | ||
47 | root = webRoot; | ||
48 | vhostConf = socket: '' | ||
49 | Alias /url "${root}" | ||
50 | <Directory "${root}"> | ||
51 | <FilesMatch "\.php$"> | ||
52 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
53 | </FilesMatch> | ||
54 | |||
55 | AllowOverride None | ||
56 | Require all granted | ||
57 | <IfModule mod_rewrite.c> | ||
58 | RewriteEngine On | ||
59 | RewriteBase /url/ | ||
60 | RewriteCond %{REQUEST_FILENAME} !-f | ||
61 | RewriteCond %{REQUEST_FILENAME} !-d | ||
62 | RewriteRule ^.*$ /url/yourls-loader.php [L] | ||
63 | </IfModule> | ||
64 | DirectoryIndex index.php | ||
65 | </Directory> | ||
66 | ''; | ||
67 | }; | ||
68 | phpFpm = rec { | ||
69 | serviceDeps = [ "mysql.service" "openldap.service" ]; | ||
70 | basedir = builtins.concatStringsSep ":" ( | ||
71 | [ webRoot config.secrets.fullPaths."webapps/tools-yourls" ] | ||
72 | ++ webRoot.plugins); | ||
73 | pool = { | ||
74 | "listen.owner" = apache.user; | ||
75 | "listen.group" = apache.group; | ||
76 | "pm" = "ondemand"; | ||
77 | "pm.max_children" = "60"; | ||
78 | "pm.process_idle_timeout" = "60"; | ||
79 | |||
80 | # Needed to avoid clashes in browser cookies (same domain) | ||
81 | "php_value[session.name]" = "YourlsPHPSESSID"; | ||
82 | "php_admin_value[open_basedir]" = "${basedir}:/tmp:/var/lib/php/sessions/yourls"; | ||
83 | "php_admin_value[session.save_path]" = "/var/lib/php/sessions/yourls"; | ||
84 | }; | ||
85 | }; | ||
86 | } | ||