]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - modules/private/websites/papa/maison_bbc.nix
Upgrade nixos
[perso/Immae/Config/Nix.git] / modules / private / websites / papa / maison_bbc.nix
CommitLineData
9a414bd6
IB
1{ lib, pkgs, config, ... }:
2let
3 cfg = config.myServices.websites.papa.maison_bbc;
4 varDir = "/var/lib/ftp/papa/site";
5in {
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 = {
5400b9b6
IB
12 user = "wwwrun";
13 group = "wwwrun";
14 settings = {
15 "listen.owner" = "wwwrun";
16 "listen.group" = "wwwrun";
9a414bd6 17
5400b9b6
IB
18 "pm" = "ondemand";
19 "pm.max_children" = "5";
20 "pm.process_idle_timeout" = "60";
9a414bd6 21
5400b9b6
IB
22 "php_admin_value[open_basedir]" = varDir;
23 };
9a414bd6 24 phpOptions = config.services.phpfpm.phpOptions + ''
d5b16fe0 25 date.timezone = 'Europe/Paris'
9a414bd6
IB
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 ''
5400b9b6 36 Alias /.well-known/acme-challenge ${config.security.acme.certs.papa.webroot}/.well-known/acme-challenge
9a414bd6
IB
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$">
5400b9b6 43 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
9a414bd6 44 </FilesMatch>
d5b16fe0 45 </Directory>
5400b9b6 46 <Directory "${config.security.acme.certs.papa.webroot}">
d5b16fe0
IB
47 Options Indexes FollowSymLinks
48 AllowOverride None
49 Require all granted
9a414bd6
IB
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$">
5400b9b6 66 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
9a414bd6
IB
67 </FilesMatch>
68 </Directory>
69 ''
70 ];
71 };
72 };
73}
74