WIP: Add hydra

This commit is contained in:
Tristan Daniël Maat 2021-05-13 21:12:11 +01:00 committed by Tristan Daniël Maat
parent a24c68d9db
commit 2a7f905bc2
Signed by: tlater
GPG key ID: 49670FD774E43268
3 changed files with 31 additions and 1 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

@ -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;