Compare commits

...

2 commits

Author SHA1 Message Date
Tristan Daniël Maat a40cab2642
WIP: Add hydra 2021-05-17 00:30:28 +01:00
Tristan Daniël Maat 4c94932490
webserver: Use SIGKILL instead of SIGTERM 2021-05-17 00:18:51 +01:00
4 changed files with 36 additions and 2 deletions

View file

@ -3,6 +3,7 @@
{ {
imports = [ imports = [
./services/gitea.nix ./services/gitea.nix
./services/hydra.nix
./services/minecraft.nix ./services/minecraft.nix
./services/nextcloud.nix ./services/nextcloud.nix
./services/webserver.nix ./services/webserver.nix
@ -68,6 +69,7 @@
"${domain}" = host 3002 { serverAliases = [ "www.${domain}" ]; }; "${domain}" = host 3002 { serverAliases = [ "www.${domain}" ]; };
"gitea.${domain}" = host 3000 { }; "gitea.${domain}" = host 3000 { };
"nextcloud.${domain}" = host 3001 { }; "nextcloud.${domain}" = host 3001 { };
"hydra.${domain}" = host config.services.hydra.port { };
}; };
}; };

View file

@ -0,0 +1,16 @@
{ ... }:
{
services.hydra = {
enable = true;
port = 3003;
hydraURL = "hydra.tlater.net";
notificationSender = "hydra@tlater.net";
extraConfig = ''
<gitea_authorization>
</gitea_authorization>
'';
};
}

View file

@ -34,6 +34,10 @@
ports = [ "3002:3002" ]; ports = [ "3002:3002" ];
volumes = [ "tlaternet-mail:/srv/mail" ]; volumes = [ "tlaternet-mail:/srv/mail" ];
extraOptions = [ "--hostname=tlater.net" ]; extraOptions = [
"--hostname=tlater.net"
# Rocket 0.4 doesn't support SIGTERM anyway, so SIGKILL is the cleanest exit possible.
"--stop-signal=SIGKILL"
];
}; };
} }

View file

@ -68,7 +68,7 @@
(import ./modules) (import ./modules)
(import ./configuration) (import ./configuration)
({ lib, ... }: { ({ config, lib, ... }: {
users.users.tlater.password = "insecure"; users.users.tlater.password = "insecure";
# Disable graphical tty so -curses works # Disable graphical tty so -curses works
@ -78,6 +78,18 @@
# can easily test locally with the VM. # can easily test locally with the VM.
services.nginx.domain = lib.mkOverride 99 "localhost"; services.nginx.domain = lib.mkOverride 99 "localhost";
# Hydra uses X-Forwarded-Port to figure out how to
# include links to static files, but because we redirect
# 443 -> 3443 in the vm we need to explicitly set this
# (nginx can't see qemu's port redirection).
services.nginx.virtualHosts =
let domain = config.services.nginx.domain;
in {
"hydra.${domain}".locations."/".extraConfig = ''
proxy_set_header X-Forwarded-Port 3443;
'';
};
# # Set up VM settings to match real VPS # # Set up VM settings to match real VPS
# virtualisation.memorySize = 3941; # virtualisation.memorySize = 3941;
# virtualisation.cores = 2; # virtualisation.cores = 2;