X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fdefault.nix;h=4864034990d81cefb848fc5042a039fb401dc145;hb=305922df8aa5aae8d930ea3e23fbddb3b16b215a;hp=f84567e8c8cf85c3b6519537e8f603daceb6a328;hpb=a97118c489a59d723538292214efaa10dfcb96df;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index f84567e..4864034 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -1,7 +1,7 @@ { lib, pkgs, config, ... }: let - www_root = "/run/current-system/webapps/_www"; - theme_root = "/run/current-system/webapps/_theme"; + www_root = ./_www; + theme_root = pkgs.webapps.apache-theme.theme; apacheConfig = { cache = { # This setting permits to ignore time-based cache for files in the @@ -52,7 +52,7 @@ let LDAPOpCacheTTL 600 - Include /var/secrets/apache-ldap + Include ${config.secrets.fullPaths."apache-ldap"} ''; }; global = { @@ -89,19 +89,23 @@ let }; makeModules = lib.lists.flatten (lib.attrsets.mapAttrsToList (n: v: v.modules or []) apacheConfig); makeExtraConfig = (builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) apacheConfig)); + moomin = let + lines = lib.splitString "\n" (lib.fileContents ./moomin.txt); + pad = width: str: let + padWidth = width - lib.stringLength str; + padding = lib.concatStrings (lib.genList (lib.const "0") padWidth); + in lib.optionalString (padWidth > 0) padding + str; + in + lib.imap0 (i: e: ''Header always set "X-Moomin-${pad 2 (builtins.toString i)}" "${e}"'') lines; in { options.myServices.websites.enable = lib.mkEnableOption "enable websites"; config = lib.mkIf config.myServices.websites.enable { - services.duplyBackup.profiles.php = { - rootDir = "/var/lib/php"; - }; users.users.wwwrun.extraGroups = [ "keys" ]; networking.firewall.allowedTCPPorts = [ 80 443 ]; - secrets.keys = [{ - dest = "apache-ldap"; + secrets.keys."apache-ldap" = { user = "wwwrun"; group = "wwwrun"; permissions = "0400"; @@ -117,7 +121,7 @@ in ''; - }]; + }; system.activationScripts = { httpd = '' @@ -140,9 +144,9 @@ in }; }; - services.filesWatcher.httpdProd.paths = [ "/var/secrets/apache-ldap" ]; - services.filesWatcher.httpdInte.paths = [ "/var/secrets/apache-ldap" ]; - services.filesWatcher.httpdTools.paths = [ "/var/secrets/apache-ldap" ]; + services.filesWatcher.httpdProd.paths = [ config.secrets.fullPaths."apache-ldap" ]; + services.filesWatcher.httpdInte.paths = [ config.secrets.fullPaths."apache-ldap" ]; + services.filesWatcher.httpdTools.paths = [ config.secrets.fullPaths."apache-ldap" ]; services.websites.env.production = { enable = true; @@ -169,7 +173,7 @@ in let ips = config.myEnv.servers.eldiron.ips.integration; in [ips.ip4] ++ (ips.ip6 or []); modules = makeModules; - extraConfig = makeExtraConfig; + extraConfig = makeExtraConfig ++ moomin; fallbackVhost = { certName = "eldiron"; hosts = ["eldiron.immae.eu" ]; @@ -208,11 +212,8 @@ in }; }; - services.websites.webappDirs = { - _www = ./_www; - _theme = pkgs.webapps.apache-theme.theme; - }; myServices.websites = { + bakeer.cloud.enable = true; capitaines.landing_pages.enable = true; chloe = { @@ -233,10 +234,15 @@ in evariste.enable = true; denisejerome.enable = true; oms.enable = true; + bingo.enable = true; + aventuriers.enable = true; production.enable = true; }; - emilia.moodle.enable = true; + emilia = { + moodle.enable = false; + atelierfringant.enable = true; + }; florian = { app.enable = true; @@ -267,26 +273,37 @@ in nassime.production.enable = true; - nathanael.villon.enable = true; + nath.villon.enable = true; papa = { surveillance.enable = true; maison_bbc.enable = true; }; + patrick_fodella = { + ecolyeu.enable = true; + altermondia.enable = true; + }; + piedsjaloux = { integration.enable = true; production.enable = true; }; + ressourcerie_banon.production.enable = true; + ressourcerie_banon.cryptpad.enable = true; + ressourcerie_banon.cloud.enable = true; + richie.production.enable = true; syden.peertube.enable = true; telio_tortay.production.enable = true; + tools.assets.enable = true; tools.cloud.enable = true; tools.commento.enable = true; + tools.cryptpad.enable = true; tools.dav.enable = true; tools.db.enable = true; tools.diaspora.enable = true; @@ -298,8 +315,10 @@ in tools.performance.enable = true; tools.tools.enable = true; tools.email.enable = true; + tools.stats.enable = false; games.codenames.enable = true; + games.terraforming-mars.enable = true; }; }; }