occ
];
+ # FIXME: doesn't work with httpd?
+ security.acme.preliminarySelfsigned = true;
security.acme.certs = {
- # /!\ To create a new certificate, add first the domain to an
- # existing certificate, deploy, and then use it in httpd.
+ # FIXME: /!\ To create a new certificate, create it before using
+ # it in httpd
"eldiron" = {
webroot = "/var/lib/acme/acme-challenge";
email = "ismael@bouya.org";
"cloud.immae.eu" = null;
"ludivine.immae.eu" = null;
"dev.aten.pro" = null;
+ "piedsjaloux.immae.eu" = null;
+ "chloe.immae.eu" = null;
};
};
"ludivinecassal" = {
"www.aten.pro" = null;
};
};
+ "piedsjaloux" = {
+ webroot = "/var/lib/acme/acme-challenge";
+ email = "ismael@bouya.org";
+ domain = "piedsjaloux.fr";
+ plugins = [ "cert.pem" "chain.pem" "fullchain.pem" "full.pem" "key.pem" "account_key.json" ];
+ postRun = ''
+ systemctl reload httpd.service
+ '';
+ extraDomains = {
+ "www.piedsjaloux.fr" = null;
+ };
+ };
+ "chloe" = {
+ webroot = "/var/lib/acme/acme-challenge";
+ email = "ismael@bouya.org";
+ domain = "osteopathe-cc.fr";
+ plugins = [ "cert.pem" "chain.pem" "fullchain.pem" "full.pem" "key.pem" "account_key.json" ];
+ postRun = ''
+ systemctl reload httpd.service
+ '';
+ extraDomains = {
+ "www.osteopathe-cc.fr" = null;
+ };
+ };
# "connexionswing" = {
# webroot = "/var/lib/acme/acme-challenge";
# email = "ismael@bouya.org";
connexionswing_prod = mypkgs.connexionswing_prod.phpFpm.pool;
ludivinecassal_dev = mypkgs.ludivinecassal_dev.phpFpm.pool;
ludivinecassal_prod = mypkgs.ludivinecassal_prod.phpFpm.pool;
+ piedsjaloux_dev = mypkgs.piedsjaloux_dev.phpFpm.pool;
+ piedsjaloux_prod = mypkgs.piedsjaloux_prod.phpFpm.pool;
+ chloe_dev = mypkgs.chloe_dev.phpFpm.pool;
+ chloe_prod = mypkgs.chloe_prod.phpFpm.pool;
aten_dev = mypkgs.aten_dev.phpFpm.pool;
aten_prod = mypkgs.aten_prod.phpFpm.pool;
nextcloud = mypkgs.nextcloud.phpFpm.pool;
connexionswing_dev = mypkgs.connexionswing_dev.activationScript;
connexionswing_prod = mypkgs.connexionswing_prod.activationScript;
ludivinecassal_dev = mypkgs.ludivinecassal_dev.activationScript;
- ludivinecassal_prod = mypkgs.ludivinecassal_prod.activationScript;
+ ludivinecassal_prod = mypkgs.ludivinecassal_prod.activationScript;
+ piedsjaloux_dev = mypkgs.piedsjaloux_dev.activationScript;
+ piedsjaloux_prod = mypkgs.piedsjaloux_prod.activationScript;
+ chloe_dev = mypkgs.chloe_dev.activationScript;
+ chloe_prod = mypkgs.chloe_prod.activationScript;
aten_dev = mypkgs.aten_dev.activationScript;
aten_prod = mypkgs.aten_prod.activationScript;
nextcloud = mypkgs.nextcloud.activationScript;
fi
'';
};
+ # FIXME: initial sync
goaccess = ''
mkdir -p /var/lib/goaccess
mkdir -p /var/lib/goaccess/aten.pro
+ mkdir -p /var/lib/goaccess/ludivinecassal.com
+ mkdir -p /var/lib/goaccess/piedsjaloux.fr
+ mkdir -p /var/lib/goaccess/osteopathe-cc.fr
'';
};
mypkgs.connexionswing_prod.apache.modules ++
mypkgs.ludivinecassal_dev.apache.modules ++
mypkgs.ludivinecassal_prod.apache.modules ++
+ mypkgs.piedsjaloux_dev.apache.modules ++
+ mypkgs.piedsjaloux_prod.apache.modules ++
+ mypkgs.chloe_dev.apache.modules ++
+ mypkgs.chloe_prod.apache.modules ++
mypkgs.aten_dev.apache.modules ++
mypkgs.aten_prod.apache.modules ++
mypkgs.ympd.apache.modules ++
mypkgs.ludivinecassal_prod.apache.vhostConf
];
})
+ (withConf "eldiron" // {
+ hostName = "piedsjaloux.immae.eu";
+ documentRoot = mypkgs.piedsjaloux_dev.webRoot;
+ extraConfig = builtins.concatStringsSep "\n" [
+ mypkgs.piedsjaloux_dev.apache.vhostConf
+ ];
+ })
+ (withConf "piedsjaloux" // {
+ hostName = "piedsjaloux.fr";
+ serverAliases = [ "www.piedsjaloux.fr" ];
+ documentRoot = mypkgs.piedsjaloux_prod.webRoot;
+ extraConfig = builtins.concatStringsSep "\n" [
+ mypkgs.piedsjaloux_prod.apache.vhostConf
+ ];
+ })
+ (withConf "eldiron" // {
+ hostName = "chloe.immae.eu";
+ documentRoot = mypkgs.chloe_dev.webRoot;
+ extraConfig = builtins.concatStringsSep "\n" [
+ mypkgs.chloe_dev.apache.vhostConf
+ ];
+ })
+ (withConf "chloe" // {
+ hostName = "osteopathe-cc.fr";
+ serverAliases = [ "www.osteopathe-cc.fr" ];
+ documentRoot = mypkgs.chloe_prod.webRoot;
+ extraConfig = builtins.concatStringsSep "\n" [
+ mypkgs.chloe_prod.apache.vhostConf
+ ];
+ })
(withConf "eldiron" // {
hostName = "dev.aten.pro";
documentRoot = mypkgs.aten_dev.webRoot;
services.cron = {
enable = true;
systemCronJobs = let
- stats = domain: conf: "${pkgs.gnused}/bin/sed -n '/\\['$(LC_ALL=C ${pkgs.coreutils}/bin/date -d yesterday +'%d\\/%b\\/%Y')'/ p' /var/log/httpd/access_log-${domain} | ${pkgs.goaccess}/bin/goaccess -o /var/lib/goaccess/${domain}/index.html -p ${conf}";
+ stats = domain: conf: let
+ d = pkgs.writeScriptBin "stats-${domain}" "${pkgs.gnused}/bin/sed -n '/\\['$(LC_ALL=C ${pkgs.coreutils}/bin/date -d yesterday +'%d\\/%b\\/%Y')'/ p' /var/log/httpd/access_log-${domain} | ${pkgs.goaccess}/bin/goaccess -o /var/lib/goaccess/${domain}/index.html -p ${conf}";
+ in "${d}/bin/stats-${domain}";
in [
"5 0 * * * root ${stats "aten.pro" ./packages/aten_goaccess.conf}"
"5 0 * * * root ${stats "ludivinecassal.com" ./packages/ludivinecassal_goaccess.conf}"
+ "5 0 * * * root ${stats "piedsjaloux.fr" ./packages/piedsjaloux_goaccess.conf}"
+ "5 0 * * * root ${stats "osteopathe-cc.fr" ./packages/chloe_goaccess.conf}"
];
};
};