X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fcapitaines%2Fproduction.nix;h=ee1698b0b5aca4f66d960019e58d19cdd6bf122b;hb=514f9ec3beec470c4445be690673a0ceab9115b4;hp=fe9c619491d5a7752032a486b72cd52ba856f1e2;hpb=f8026b6e4c869aa108f6361c8ccd50890657994d;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/capitaines/production.nix b/modules/private/websites/capitaines/production.nix index fe9c619..ee1698b 100644 --- a/modules/private/websites/capitaines/production.nix +++ b/modules/private/websites/capitaines/production.nix @@ -1,20 +1,15 @@ -{ lib, pkgs, config, myconfig, ... }: +{ lib, pkgs, config, ... }: let - cfg = config.myServices.websites.capitaines.production; - env = myconfig.env.websites.capitaines; - webappName = "capitaines_mastodon"; - root = "/run/current-system/webapps/${webappName}"; - siteDir = ./mastodon_static; + cfg = config.myServices.websites.capitaines.production; + env = config.myEnv.websites.capitaines; in { options.myServices.websites.capitaines.production.enable = lib.mkEnableOption "enable Capitaines's website"; config = lib.mkIf cfg.enable { - system.extraSystemBuilderCmds = '' - mkdir -p $out/webapps - ln -s ${siteDir} $out/webapps/${webappName} - ''; - - services.websites.production.vhostConfs.capitaines_mastodon = { + myServices.websites.webappDirs.capitaines_mastodon = ./mastodon_static; + services.websites.env.production.vhostConfs.capitaines_mastodon = let + root = "/run/current-system/webapps/capitaines_mastodon"; + in { certName = "capitaines"; certMainHost = "mastodon.capitaines.fr"; hosts = [ "mastodon.capitaines.fr" ]; @@ -31,7 +26,27 @@ in { ]; }; - services.websites.production.vhostConfs.capitaines = { + myServices.websites.webappDirs.capitaines_discourse = ./discourse_static; + services.websites.env.production.vhostConfs.capitaines_discourse = let + root = "/run/current-system/webapps/capitaines_discourse"; + in { + certName = "capitaines"; + addToCerts = true; + hosts = [ "discourse.capitaines.fr" ]; + root = root; + extraConfig = [ + '' + ErrorDocument 404 /index.html + + DirectoryIndex index.html + Options Indexes FollowSymLinks MultiViews Includes + Require all granted + + '' + ]; + }; + + services.websites.env.production.vhostConfs.capitaines = { certName = "capitaines"; addToCerts = true; hosts = [ "capitaines.fr" ];