From 4bcc6d9dea29c1982b31b831d7341274a19339ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KJ=20=C3=98rbekk?= Date: Sun, 14 May 2017 13:16:37 -0400 Subject: Improve cgit config. --- config/cgit.nix | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'config/cgit.nix') diff --git a/config/cgit.nix b/config/cgit.nix index 4f36e6a..19229c5 100644 --- a/config/cgit.nix +++ b/config/cgit.nix @@ -2,9 +2,17 @@ let fcgiPort = (import ../data/aliases.nix).services.fcgi.port; gitPort = (import ../data/aliases.nix).services.git.port; - gitPath = "/storage/projects/"; + gitPath = "/storage/projects"; + cacheDir = "/var/lib/cgit/cache"; configFile = pkgs.writeText "cgitrc" '' + virtual-root=/ scan-path=${gitPath} + cache-root=${cacheDir} + cache-size=1000 + max-stats=year + root-title=KJ's repositories + enable-commit-graph=true + repository-sort=age ''; in { @@ -17,7 +25,13 @@ in virtualHosts = { "git.orbekk.com" = { root = "${pkgs.cgit}/cgit"; + port = gitPort; extraConfig = "try_files $uri @cgit;"; + locations."/git/" = { + extraConfig = '' + rewrite ^/git/(.*) https://git.orbekk.com/$1 permanent; + ''; + }; locations."@cgit" = { extraConfig = '' include "${pkgs.nginx}/conf/fastcgi_params"; @@ -32,4 +46,16 @@ in }; }; }; + + systemd.services.cgit-init = { + description = "init cgit cache"; + path = [ pkgs.coreutils ]; + after = [ "networking.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' + echo "Creating cache directory" + mkdir -p ${cacheDir}/cache + chown fcgi:fcgi ${cacheDir}/cache + ''; + }; } -- cgit v1.2.3