]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/websites/papa/maison_bbc.nix
Upgrade nixos
[perso/Immae/Config/Nix.git] / modules / private / websites / papa / maison_bbc.nix
1 { lib, pkgs, config, ... }:
2 let
3 cfg = config.myServices.websites.papa.maison_bbc;
4 varDir = "/var/lib/ftp/papa/site";
5 in {
6 options.myServices.websites.papa.maison_bbc.enable = lib.mkEnableOption "enable Papa Maison bbc website";
7
8 config = lib.mkIf cfg.enable {
9 services.duplyBackup.profiles.papa_maison_bbc.rootDir = varDir;
10 services.webstats.sites = [ { name = "maison.bbc.bouya.org"; } ];
11 services.phpfpm.pools.papa_maison_bbc = {
12 user = "wwwrun";
13 group = "wwwrun";
14 settings = {
15 "listen.owner" = "wwwrun";
16 "listen.group" = "wwwrun";
17
18 "pm" = "ondemand";
19 "pm.max_children" = "5";
20 "pm.process_idle_timeout" = "60";
21
22 "php_admin_value[open_basedir]" = varDir;
23 };
24 phpOptions = config.services.phpfpm.phpOptions + ''
25 date.timezone = 'Europe/Paris'
26 extension=${pkgs.php}/lib/php/extensions/mysqli.so
27 '';
28 };
29
30 services.websites.env.production.modules = [ "proxy_fcgi" ];
31 services.websites.env.production.vhostNoSSLConfs.papa_maison_bbc = {
32 hosts = [ "maison.bbc.bouya.org" ];
33 root = varDir;
34 extraConfig = [
35 ''
36 Alias /.well-known/acme-challenge ${config.security.acme.certs.papa.webroot}/.well-known/acme-challenge
37 RedirectMatch 301 ^/((?!(\.well-known|add.php).*$).*)$ https://maison.bbc.bouya.org/$1
38 <Directory ${varDir}>
39 DirectoryIndex index.php index.htm index.html
40 AllowOverride None
41 Require all granted
42 <FilesMatch "\.php$">
43 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
44 </FilesMatch>
45 </Directory>
46 <Directory "${config.security.acme.certs.papa.webroot}">
47 Options Indexes FollowSymLinks
48 AllowOverride None
49 Require all granted
50 </Directory>
51 ''
52 ];
53 };
54 services.websites.env.production.vhostConfs.papa_maison_bbc = {
55 certName = "papa";
56 addToCerts = true;
57 hosts = [ "maison.bbc.bouya.org" ];
58 root = varDir;
59 extraConfig = [
60 ''
61 <Directory ${varDir}>
62 DirectoryIndex index.php index.htm index.html
63 AllowOverride None
64 Require all granted
65 <FilesMatch "\.php$">
66 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
67 </FilesMatch>
68 </Directory>
69 ''
70 ];
71 };
72 };
73 }
74