Compare commits

..

2 commits

Author SHA1 Message Date
Bruno BELANYI e50b259a70 modules: services: gitea: change domain to 'git.*'
Because cool URLs don't change [1], setup a re-directed for it.

[1]: https://www.w3.org/Provider/Style/URI.html
2023-03-16 21:33:22 +01:00
Bruno BELANYI b3d90be8b1 modules: services: nginx: add 'redirect' option 2023-03-16 21:33:22 +01:00
2 changed files with 22 additions and 4 deletions

View file

@ -50,7 +50,7 @@ in
services.gitea =
let
inherit (config.networking) domain;
giteaDomain = "gitea.${domain}";
giteaDomain = "git.${domain}";
in
{
enable = true;
@ -112,11 +112,16 @@ in
};
users.groups.git = { };
# Proxy to Gitea
my.services.nginx.virtualHosts = [
# Proxy to Gitea
{
subdomain = "git";
inherit (cfg) port;
}
# Redirect `gitea.` to actual forge subdomain
{
subdomain = "gitea";
inherit (cfg) port;
redirect = config.services.gitea.rootUrl;
}
];

View file

@ -26,6 +26,15 @@ let
'';
};
redirect = mkOption {
type = with types; nullOr str;
default = null;
example = "https://example.com";
description = ''
Which domain to redirect to (301 response), for this virtual host.
'';
};
root = mkOption {
type = with types; nullOr path;
default = null;
@ -176,7 +185,7 @@ in
assertions = [ ]
++ (lib.flip builtins.map cfg.virtualHosts ({ subdomain, ... } @ args:
let
conflicts = [ "port" "root" ];
conflicts = [ "port" "root" "redirect" ];
optionsNotNull = builtins.map (v: args.${v} != null) conflicts;
optionsSet = lib.filter lib.id optionsNotNull;
in
@ -249,6 +258,10 @@ in
(lib.optionalAttrs (args.root != null) {
inherit (args) root;
})
# Redirect to a different domain
(lib.optionalAttrs (args.redirect != null) {
locations."/".return = "301 ${args.redirect}$request_uri";
})
# VHost specific configuration
args.extraConfig
# SSO configuration