infrastructure/machines/web01/metis/default.nix

39 lines
960 B
Nix

{ lib, pkgs, sources, ... }:
let
package = (import sources.metis { inherit pkgs; }).production;
providers = {
klub-reseau = "nuage.beta.rz.ens.wtf";
eleves-ens = "cloud.eleves.ens.fr";
frama-agenda = "framagenda.org";
};
nginxConf = {
enableACME = true;
forceSSL = true;
root = package;
locations = lib.mapAttrs' (name: attrs:
lib.nameValuePair "/cal/${name}/" {
extraConfig = ''
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://${
providers.${name}
}/remote.php/dav/public-calendars/;
'';
}) providers;
extraConfig = ''
rewrite ^/calendrier(.*)$ $1 permanent;
'';
};
in {
services.nginx.virtualHosts = {
"calendrier.eleves.ens.fr" = nginxConf;
"calendrier.dgnum.eu" = nginxConf;
};
}