let
secrets = config.myEnv.websites.isabelle.aten_production;
app = pkgs.callPackage ./aten_app {
+ composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
environment = secrets.environment;
varDir = "/var/lib/isabelle_aten_production";
};
options.myServices.websites.isabelle.aten_production.enable = lib.mkEnableOption "enable Aten's website in production";
config = lib.mkIf cfg.enable {
- services.duplyBackup.profiles.isabelle_aten_production.rootDir = app.varDir;
services.webstats.sites = [ { name = "aten.pro"; } ];
services.phpApplication.apps.isabelle_aten_production = {
websiteEnv = "production";
"pm.min_spare_servers" = "1";
"pm.max_spare_servers" = "3";
};
+ phpPackage = pkgs.php72;
};
- secrets.keys = [{
- dest = "websites/isabelle/aten_production";
+ secrets.keys."websites/isabelle/aten_production" = {
user = config.services.httpd.Prod.user;
group = config.services.httpd.Prod.group;
permissions = "0400";
SetEnv APP_SECRET "${secrets.secret}"
SetEnv DATABASE_URL "${psql_url}"
'';
- }];
+ };
services.websites.env.production.vhostConfs.isabelle_aten_production = {
certName = "isabelle";
certMainHost = "aten.pro";
hosts = [ "aten.pro" "www.aten.pro" ];
- root = pcfg.webappDirs.isabelle_aten_production;
+ root = app.webRoot;
extraConfig = [
''
<FilesMatch "\.php$">
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>"
</Location>
- <Directory ${pcfg.webappDirs.isabelle_aten_production}>
+ <Directory ${app.webRoot}>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride All
Require all granted