]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/websites/tools/tools/dmarc_reports.nix
Add dmarc reports
[perso/Immae/Config/Nix.git] / modules / private / websites / tools / tools / dmarc_reports.nix
1 { env }:
2 rec {
3 keys = [{
4 dest = "webapps/tools-dmarc-reports.php";
5 user = "wwwrun";
6 group = "wwwrun";
7 permissions = "0400";
8 text = ''
9 <?php
10 $dbhost = "${env.mysql.host}";
11 $dbname = "${env.mysql.database}";
12 $dbuser = "${env.mysql.user}";
13 $dbpass = "${env.mysql.password}";
14 $dbport = "${env.mysql.port}";
15 ?>
16 '';
17 }];
18 webRoot = ./dmarc_reports;
19 apache = rec {
20 user = "wwwrun";
21 group = "wwwrun";
22 modules = [ "proxy_fcgi" ];
23 webappName = "tools_dmarc_reports";
24 root = "/run/current-system/webapps/${webappName}";
25 vhostConf = socket: ''
26 Alias /dmarc-reports "${root}"
27 <Directory "${root}">
28 DirectoryIndex index.html
29 <FilesMatch "\.php$">
30 SetHandler "proxy:unix:${socket}|fcgi://localhost"
31 </FilesMatch>
32
33 AllowOverride None
34 Options +FollowSymlinks
35 Require all granted
36 </Directory>
37 '';
38 };
39 phpFpm = rec {
40 basedir = builtins.concatStringsSep ":"
41 [ webRoot "/var/secrets/webapps/tools-dmarc-reports.php" ];
42 pool = {
43 "listen.owner" = apache.user;
44 "listen.group" = apache.group;
45 "pm" = "ondemand";
46 "pm.max_children" = "60";
47 "pm.process_idle_timeout" = "60";
48
49 # Needed to avoid clashes in browser cookies (same domain)
50 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
51 };
52 phpEnv = {
53 SECRETS_FILE = "/var/secrets/webapps/tools-dmarc-reports.php";
54 };
55 };
56 }