Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
3bcb178ae7
|
@@ -1,25 +1,70 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
services.nginx.virtualHosts = lib.genAttrs [
|
||||
"pvv.ntnu.no"
|
||||
"www.pvv.ntnu.no"
|
||||
"pvv.org"
|
||||
"www.pvv.org"
|
||||
] (_: {
|
||||
locations = {
|
||||
"^~ /.well-known/" = {
|
||||
alias = (toString ./root) + "/";
|
||||
};
|
||||
# TODO: move this to base so that all virtualHosts take effect on their respecitve hosts
|
||||
|
||||
# Proxy the matrix well-known files
|
||||
# Host has be set before proxy_pass
|
||||
# The header must be set so nginx on the other side routes it to the right place
|
||||
"^~ /.well-known/matrix/" = {
|
||||
# NOTE: automatically hosting well-known files by looping over all existing `virtualHosts`
|
||||
# unfortunately causes infinite recursuion due to submodule usage within the nginx
|
||||
# module. For now, the easiest solution was to manually specify a list of virtualHosts
|
||||
# here, but it would be nice to find a better solution in the future.
|
||||
services.nginx.virtualHosts = lib.mkMerge [
|
||||
(lib.genAttrs [
|
||||
"pvv.ntnu.no"
|
||||
"pvv.org"
|
||||
|
||||
"www.pvv.ntnu.no"
|
||||
"www.pvv.org"
|
||||
"www2.pvv.ntnu.no"
|
||||
"www2.pvv.org"
|
||||
|
||||
# NOTE: this list is probably not complete
|
||||
"alps.pvv.ntnu.no"
|
||||
"chat.pvv.ntnu.no"
|
||||
"grafana.pvv.ntnu.no"
|
||||
"status.pvv.ntnu.no"
|
||||
"matrix.pvv.ntnu.no"
|
||||
"mirrors.pvv.ntnu.no"
|
||||
"pages.pvv.ntnu.no"
|
||||
"ooye.pvv.ntnu.no"
|
||||
"ooye.pvv.ntnu.no"
|
||||
"dav.pvv.ntnu.no"
|
||||
"git.pvv.ntnu.no"
|
||||
"idp.pvv.ntnu.no"
|
||||
"minecraft.pvv.ntnu.no"
|
||||
"pw.pvv.ntnu.no"
|
||||
"snappymail.pvv.ntnu.no"
|
||||
"webmail.pvv.ntnu.no"
|
||||
"wiki.pvv.ntnu.no"
|
||||
] (_: {
|
||||
locations."^~ /.well-known/security.txt" = {
|
||||
alias = toString ./root/security.txt;
|
||||
};
|
||||
}))
|
||||
|
||||
(lib.genAttrs [
|
||||
"pvv.ntnu.no"
|
||||
"pvv.org"
|
||||
"mail.pvv.ntnu.no"
|
||||
"mail.pvv.org"
|
||||
"smtp.pvv.ntnu.no"
|
||||
"smtp.pvv.org"
|
||||
] (_: {
|
||||
locations."^~ /.well-known/autoconfig/mail/" = {
|
||||
root = toString ./root/autoconfig/mail;
|
||||
};
|
||||
}))
|
||||
|
||||
(lib.genAttrs [
|
||||
"pvv.ntnu.no"
|
||||
"pvv.org"
|
||||
"www.pvv.ntnu.no"
|
||||
"www.pvv.org"
|
||||
] (_: {
|
||||
locations."^~ /.well-known/matrix/" = {
|
||||
extraConfig = ''
|
||||
proxy_set_header Host matrix.pvv.ntnu.no;
|
||||
proxy_pass https://matrix.pvv.ntnu.no/.well-known/matrix/;
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
}))
|
||||
];
|
||||
}
|
||||
|
||||
@@ -138,15 +138,6 @@ in
|
||||
|
||||
ExecStart =
|
||||
let
|
||||
mkRespawningCommand = name: command: pkgs.writeShellScript "drumknotty-${name}-watchdog" ''
|
||||
while true; do
|
||||
${command}
|
||||
echo
|
||||
echo "${name} exited, restarting in 3s..." >&2
|
||||
sleep 3
|
||||
done
|
||||
'';
|
||||
|
||||
screenrc = let
|
||||
convertToFile = lines: lib.pipe lines [
|
||||
lib.concatLists
|
||||
@@ -166,7 +157,8 @@ in
|
||||
config = "/etc/dibbler/dibbler.toml";
|
||||
};
|
||||
in lib.optionals cfg.dibbler.enable [
|
||||
"screen -t dibbler ${mkRespawningCommand "dibbler" "${lib.getExe cfg.dibbler.package} ${dibblerArgs} loop"}"
|
||||
"screen -t dibbler ${lib.getExe cfg.dibbler.package} ${dibblerArgs} loop"
|
||||
|
||||
])
|
||||
|
||||
(let
|
||||
@@ -174,7 +166,7 @@ in
|
||||
config = "/etc/worblehat/config.toml";
|
||||
};
|
||||
in lib.optionals cfg.worblehat.enable [
|
||||
"screen -t worblehat ${mkRespawningCommand "worblehat" "${lib.getExe cfg.worblehat.package} ${worblehatArgs} cli"}"
|
||||
"screen -t worblehat ${lib.getExe cfg.worblehat.package} ${worblehatArgs} cli"
|
||||
])
|
||||
|
||||
[ "select 0" ]
|
||||
|
||||
Reference in New Issue
Block a user