diff options
| author | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-26 20:18:38 +0200 |
|---|---|---|
| committer | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-26 20:25:01 +0200 |
| commit | 5a2d9b7b060698345e1df760a3095d1548b32c9b (patch) | |
| tree | 550ab108d7e909eb352130ad18d536408e351857 | |
| parent | ed4145090897bf10079950e6a2e26d0cabc3d04e (diff) | |
tower: set up cgit-internal
| -rw-r--r-- | hosts/tower/web/caddy.nix | 16 | ||||
| -rw-r--r-- | hosts/tower/web/git.nix | 57 |
2 files changed, 41 insertions, 32 deletions
diff --git a/hosts/tower/web/caddy.nix b/hosts/tower/web/caddy.nix index f375d3b..5979806 100644 --- a/hosts/tower/web/caddy.nix +++ b/hosts/tower/web/caddy.nix @@ -22,6 +22,10 @@ let socket = config.services.phpfpm.pools.kanboard.socket; package = config.services.kanboard.package; }; + cgitInternal = { + domain = config.services.cgit.internal.nginx.virtualHost; + port = 1923; + }; blog.port = 7291; tls-config = "tls {$CREDENTIALS_DIRECTORY}/sorre.internal.crt {$CREDENTIALS_DIRECTORY}/sorre.internal.key"; @@ -85,6 +89,18 @@ in } ''; }; + + "${cgitInternal.domain}" = { + listenAddresses = [ wg-ip ]; + extraConfig = '' + ${tls-config} + + reverse_proxy :${toString cgitInternal.port} { + header_up True-Client-IP {remote_host} + header_up X-Real-IP {remote_host} + } + ''; + }; }; }; diff --git a/hosts/tower/web/git.nix b/hosts/tower/web/git.nix index e46eb90..fd913aa 100644 --- a/hosts/tower/web/git.nix +++ b/hosts/tower/web/git.nix @@ -1,7 +1,6 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: let - # secrets = config.sops.secrets; - # domainInternal = "git.sorre.internal"; + domainInternal = "git.sorre.internal"; domainPublic = "git.sorre.xyz"; commonSettings = { @@ -9,41 +8,35 @@ let }; in { + # cgit-public is proxied via enode networking.firewall.allowedTCPPorts = [ 8721 ]; + services.nginx = { enable = true; - # virtualHosts."${domainInternal}" = { - # forceSSL = true; - # # sslCertificateKey = secrets."wg-ca-key".path; - # # sslCertificate = secrets."wg-ca-crt".path; - # listen = [ - # { - # addr = "100.64.0.3"; - # port = 443; - # # ssl = true; - # } - # ]; - # }; + virtualHosts."${domainInternal}".listen = [ + { + addr = "127.0.0.1"; + port = 1923; + } + ]; - virtualHosts."${domainPublic}" = { - listen = [ - { - addr = "100.64.0.6"; - port = 8721; - } - ]; - }; + virtualHosts."${domainPublic}".listen = [ + { + addr = "100.64.0.6"; + port = 8721; + } + ]; }; - # services.cgit.internal = { - # enable = true; - # user = "cgit-internal"; - # group = "cgit"; - # nginx.virtualHost = domainInternal; - # gitHttpBackend.checkExportOkFiles = false; - # scanPath = "/var/lib/git/repos/isabella"; - # settings = commonSettings; - # }; + services.cgit.internal = { + enable = true; + user = "cgit-internal"; + group = "cgit"; + nginx.virtualHost = domainInternal; + gitHttpBackend.checkExportOkFiles = false; + scanPath = "/var/lib/git/repos/isabella"; + settings = commonSettings; + }; services.cgit.public = { enable = true; |
