help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cgit with nginx git-daemon configuration


From: Thanos Apollo
Subject: cgit with nginx git-daemon configuration
Date: Sat, 01 Feb 2025 10:19:26 +0200

Hello Guix,

Has anyone here setup cgit using guix & wouldn't mind sharing their
configuration?

I'm trying to replicate my previous setup with debian on my homelab,
using guix.  Only issue that I have is how to configure the git daemon
for cgit, which currently just works as a "dumb" http end-point for git
clones.

My cgit instance: <https://git.thanosapollo.org>

My current configuration:

#+begin_src scheme
   (service cgit-service-type
                        (cgit-configuration
                         (package cgit)
                         (root-desc thanos/cgit-root-desc)
                         (project-list thanos/project-list)
                         (repository-directory "/srv/git")
                         (root-title "Thanos Apollo | Git server")
                         (enable-index-owner? #f)
                         (enable-http-clone? #t) ;; change this to #f when we 
get git-daemon working properly
                         (clone-prefix '("https://git.thanosapollo.org";))
                         (nginx
                          (list
                           (nginx-server-configuration
                            (server-name '("git.thanosapollo.org"))
                            (root cgit)
                            (try-files (list "$uri" "@cgit"))
                            (listen '("80"))
                            (ssl-certificate #f)
                            (ssl-certificate-key #f)
                            (locations
                             (list
                              (nginx-location-configuration
                               (uri "@cgit")
                               (body '("fastcgi_param SCRIPT_FILENAME 
$document_root/lib/cgit/cgit.cgi;"
                                       "fastcgi_param PATH_INFO $uri;"
                                       "fastcgi_param QUERY_STRING $args;"
                                       "fastcgi_param HTTP_HOST $server_name;"
                                       "fastcgi_pass 127.0.0.1:9000;")))
                              (nginx-location-configuration
                               (uri "/.git/")
                               (body '("fastcgi_param SCRIPT_FILENAME 
$document_root/lib/cgit/cgit.cgi;"
                                       "fastcgi_param GIT_HTTP_EXPORT_ALL 1;"
                                       "fastcgi_param GIT_PROJECT_ROOT 
/srv/git;"
                                       "fastcgi_param HOME /srv/git;"
                                       "fastcgi_param PATH_INFO $uri;"
                                       "fastcgi_pass 
unix:/run/fcgiwrap.socket;")))
                              (git-http-nginx-location-configuration
                               (git-http-configuration
                                (uri-path "/")
                                (export-all? #t))))))))))

#+end_SRC

Thank you,

-- 
Thanos Apollo ☧
https://thanosapollo.org

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]