nginx: Make VM testing easier by binding virtualHosts to localhost

This commit is contained in:
Tristan Daniël Maat 2021-05-17 00:00:34 +01:00
parent b8bf3bd3a2
commit 5f8899d542
Signed by: tlater
GPG key ID: 49670FD774E43268
3 changed files with 18 additions and 5 deletions

View file

@ -54,6 +54,7 @@
recommendedGzipSettings = true; recommendedGzipSettings = true;
recommendedProxySettings = true; recommendedProxySettings = true;
clientMaxBodySize = "10G"; clientMaxBodySize = "10G";
domain = "tlater.net";
virtualHosts = let virtualHosts = let
host = port: extra: host = port: extra:
@ -62,10 +63,11 @@
enableACME = true; enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; }; locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; };
} // extra; } // extra;
domain = config.services.nginx.domain;
in { in {
"tlater.net" = host 3002 { serverAliases = [ "www.tlater.net" ]; }; "${domain}" = host 3002 { serverAliases = [ "www.${domain}" ]; };
"gitea.tlater.net" = host 3000 { }; "gitea.${domain}" = host 3000 { };
"nextcloud.tlater.net" = host 3001 { }; "nextcloud.${domain}" = host 3001 { };
}; };
}; };

View file

@ -68,12 +68,16 @@
(import ./modules) (import ./modules)
(import ./configuration) (import ./configuration)
({ ... }: { ({ lib, ... }: {
users.users.tlater.password = "insecure"; users.users.tlater.password = "insecure";
# Disable graphical tty so -curses works # Disable graphical tty so -curses works
boot.kernelParams = [ "nomodeset" ]; boot.kernelParams = [ "nomodeset" ];
# Sets the base domain for nginx to localhost so that we
# can easily test locally with the VM.
services.nginx.domain = lib.mkOverride 99 "localhost";
# # 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;

View file

@ -1,5 +1,12 @@
{ ... }: { lib, ... }:
with lib;
{ {
imports = [ ./virtualisation/pods.nix ]; imports = [ ./virtualisation/pods.nix ];
options.services.nginx.domain = mkOption {
type = types.str;
description = "The base domain name to append to virtual domain names";
};
} }