From 829ef7f1cb79f0171f9c5254278d93c48c44a7b5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 24 Dec 2019 13:59:54 +0100 Subject: [PATCH] Add iridologie website --- modules/private/default.nix | 5 +-- modules/private/environment.nix | 8 ++--- modules/private/websites/default.nix | 5 +-- .../aten_integration.nix} | 6 ++-- .../aten_production.nix} | 6 ++-- .../private/websites/isabelle/iridologie.nix | 31 +++++++++++++++++++ 6 files changed, 47 insertions(+), 14 deletions(-) rename modules/private/websites/{aten/integration.nix => isabelle/aten_integration.nix} (92%) rename modules/private/websites/{aten/production.nix => isabelle/aten_production.nix} (92%) create mode 100644 modules/private/websites/isabelle/iridologie.nix diff --git a/modules/private/default.nix b/modules/private/default.nix index be39993..30b9df6 100644 --- a/modules/private/default.nix +++ b/modules/private/default.nix @@ -16,8 +16,9 @@ set = { openldapReplication = ./databases/openldap_replication.nix; websites = ./websites; - atenInte = ./websites/aten/integration.nix; - atenProd = ./websites/aten/production.nix; + isabelleAtenInte = ./websites/isabelle/aten_integration.nix; + isabelleAtenProd = ./websites/isabelle/aten_production.nix; + isabelleIridologie = ./websites/isabelle/iridologie.nix; capitainesProd = ./websites/capitaines/production.nix; chloeInte = ./websites/chloe/integration.nix; chloeProd = ./websites/chloe/production.nix; diff --git a/modules/private/environment.nix b/modules/private/environment.nix index f0e39e9..15e8f54 100644 --- a/modules/private/environment.nix +++ b/modules/private/environment.nix @@ -951,8 +951,8 @@ in description = "Websites configurations"; type = submodule { options = { - aten = mkOption { - description = "Aten configurations by environment"; + isabelle = mkOption { + description = "Isabelle configurations by environment"; type = let atenSubmodule = mkOption { @@ -968,8 +968,8 @@ in in submodule { options = { - production = atenSubmodule; - integration = atenSubmodule; + aten_production = atenSubmodule; + aten_integration = atenSubmodule; }; }; }; diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index dcbbef8..7f3e463 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -224,8 +224,9 @@ in _theme = pkgs.webapps.apache-theme.theme; }; - aten.integration.enable = true; - aten.production.enable = true; + isabelle.aten_integration.enable = true; + isabelle.aten_production.enable = true; + isabelle.iridologie.enable = true; capitaines.production.enable = true; diff --git a/modules/private/websites/aten/integration.nix b/modules/private/websites/isabelle/aten_integration.nix similarity index 92% rename from modules/private/websites/aten/integration.nix rename to modules/private/websites/isabelle/aten_integration.nix index 7e12b38..c8ca03f 100644 --- a/modules/private/websites/aten/integration.nix +++ b/modules/private/websites/isabelle/aten_integration.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, ... }: let - secrets = config.myEnv.websites.aten.integration; + secrets = config.myEnv.websites.isabelle.aten_integration; app = pkgs.webapps.aten.override { environment = secrets.environment; }; - cfg = config.myServices.websites.aten.integration; + cfg = config.myServices.websites.isabelle.aten_integration; pcfg = config.services.phpApplication; in { - options.myServices.websites.aten.integration.enable = lib.mkEnableOption "enable Aten's website in integration"; + options.myServices.websites.isabelle.aten_integration.enable = lib.mkEnableOption "enable Aten's website in integration"; config = lib.mkIf cfg.enable { services.duplyBackup.profiles.aten_dev.rootDir = app.varDir; diff --git a/modules/private/websites/aten/production.nix b/modules/private/websites/isabelle/aten_production.nix similarity index 92% rename from modules/private/websites/aten/production.nix rename to modules/private/websites/isabelle/aten_production.nix index 1f72e61..8e33f0f 100644 --- a/modules/private/websites/aten/production.nix +++ b/modules/private/websites/isabelle/aten_production.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, ... }: let - secrets = config.myEnv.websites.aten.production; + secrets = config.myEnv.websites.isabelle.aten_production; app = pkgs.webapps.aten.override { environment = secrets.environment; }; - cfg = config.myServices.websites.aten.production; + cfg = config.myServices.websites.isabelle.aten_production; pcfg = config.services.phpApplication; in { - options.myServices.websites.aten.production.enable = lib.mkEnableOption "enable Aten's website in production"; + options.myServices.websites.isabelle.aten_production.enable = lib.mkEnableOption "enable Aten's website in production"; config = lib.mkIf cfg.enable { services.duplyBackup.profiles.aten_prod.rootDir = app.varDir; diff --git a/modules/private/websites/isabelle/iridologie.nix b/modules/private/websites/isabelle/iridologie.nix new file mode 100644 index 0000000..88f8b03 --- /dev/null +++ b/modules/private/websites/isabelle/iridologie.nix @@ -0,0 +1,31 @@ +{ lib, config, ... }: +let + cfg = config.myServices.websites.isabelle.iridologie; + varDir = "/var/lib/ftp/isabelle"; +in { + options.myServices.websites.isabelle.iridologie.enable = lib.mkEnableOption "enable Iridologie's website"; + + config = lib.mkIf cfg.enable { + services.webstats.sites = [ { name = "iridologie.icommandeur.org"; } ]; + services.websites.env.production.vhostConfs.iridologie = { + certName = "aten"; + hosts = [ "icommandeur.org" "www.icommandeur.org" "iridologie.icommandeur.org" ]; + root = varDir; + extraConfig = [ + '' + Use Stats iridologie.icommandeur.org + RewriteEngine On + RewriteCond "%{HTTP_HOST}" "!^iridologie\.icommandeur\.org$" [NC] + RewriteRule ^(.+)$ https://iridologie.icommandeur.org$1 [R=302,L] + + + DirectoryIndex index.html + AllowOverride None + Require all granted + + '' + ]; + }; + }; +} + -- 2.41.0