diff --git a/modules/nixos/server/services/default.nix b/modules/nixos/server/services/default.nix index 8c83eca..6d19766 100644 --- a/modules/nixos/server/services/default.nix +++ b/modules/nixos/server/services/default.nix @@ -1,5 +1,6 @@ { imports = [ ./website + ./forgejo ]; } diff --git a/modules/nixos/server/services/forgejo/default.nix b/modules/nixos/server/services/forgejo/default.nix new file mode 100644 index 0000000..b5a681f --- /dev/null +++ b/modules/nixos/server/services/forgejo/default.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + ... +}: let + inherit (config.ooknet.server) services domain; + inherit (lib) mkIf elem; +in { + config = mkIf (elem "forgejo" services) { + ooknet.server = { + webserver.caddy.enable = true; + database.postgresql.enable = true; + }; + services = { + forgejo = { + enable = true; + + settings = { + server = { + DOMAIN = "git.${domain}"; + ROOT_URL = "https://git.${domain}"; + HTTP_PORT = 3000; + }; + }; + }; + caddy.virtualHosts = { + "git.${domain}".extraConfig = '' + reverse_proxy 127.0.0.1:3000 + ''; + }; + }; + }; +}