From 5aa2283f9951b3e035824b54bd0277ebf4394ffa Mon Sep 17 00:00:00 2001 From: Cullum Smith Date: Tue, 12 Nov 2024 23:50:18 -0500 Subject: add gitolite/cgit --- files/usr/local/etc/cgitrc.git_server | 66 ++++++++++++++++++++++ .../usr/local/etc/nginx/fastcgi_params.git_server | 32 +++++++++++ files/usr/local/etc/nginx/vhosts.conf.git_server | 49 ++++++++++++++++ .../etc/ssh/sshd_config.d/gitolite.conf.git_server | 12 ++++ files/usr/local/etc/sudoers.d/acme.git_server | 1 + 5 files changed, 160 insertions(+) create mode 100644 files/usr/local/etc/cgitrc.git_server create mode 100644 files/usr/local/etc/nginx/fastcgi_params.git_server create mode 100644 files/usr/local/etc/nginx/vhosts.conf.git_server create mode 100644 files/usr/local/etc/ssh/sshd_config.d/gitolite.conf.git_server create mode 100644 files/usr/local/etc/sudoers.d/acme.git_server (limited to 'files/usr/local/etc') diff --git a/files/usr/local/etc/cgitrc.git_server b/files/usr/local/etc/cgitrc.git_server new file mode 100644 index 0000000..5cebd6c --- /dev/null +++ b/files/usr/local/etc/cgitrc.git_server @@ -0,0 +1,66 @@ +clone-prefix=${cgit_clone_urls} +enable-http-clone=0 +enable-blame=1 +enable-commit-graph=1 +enable-log-filecount=1 +enable-log-linecount=1 +branch-sort=name + +max-stats=none +root-title=${cgit_root_title} +root-desc=${cgit_root_desc} +remove-suffix=1 +repository-sort=name +snapshots=tar.gz +local-time=1 +robots=index, nofollow + +cache-root=${cgit_cache_dir} +cache-size=${cgit_cache_size} + +source-filter=/usr/local/lib/cgit/filters/syntax-highlighting-custom.py +about-filter=/usr/local/lib/cgit/filters/about-formatting.sh + +favicon=/custom-favicon.ico +logo=/custom-logo.png +css=/custom-style.css +robots=/custom-robots.txt +head-include=${cgit_webroot}/custom-head-include.html +header=${cgit_webroot}/custom-header.html + +mimetype.gif=image/gif +mimetype.html=text/html +mimetype.jpg=image/jpeg +mimetype.jpeg=image/jpeg +mimetype.pdf=application/pdf +mimetype.png=image/png +mimetype.svg=image/svg+xml + +readme=:README.md +readme=:readme.md +readme=:README.mkd +readme=:readme.mkd +readme=:README.html +readme=:readme.html +readme=:README.htm +readme=:readme.htm +readme=:README.txt +readme=:readme.txt +readme=:README +readme=:readme +readme=:INSTALL.md +readme=:install.md +readme=:INSTALL.mkd +readme=:install.mkd +readme=:INSTALL.html +readme=:install.html +readme=:INSTALL.htm +readme=:install.htm +readme=:INSTALL.txt +readme=:install.txt +readme=:INSTALL +readme=:install + +enable-git-config=1 +project-list=${gitolite_home}/projects.list +scan-path=${gitolite_home}/repositories diff --git a/files/usr/local/etc/nginx/fastcgi_params.git_server b/files/usr/local/etc/nginx/fastcgi_params.git_server new file mode 100644 index 0000000..49201e8 --- /dev/null +++ b/files/usr/local/etc/nginx/fastcgi_params.git_server @@ -0,0 +1,32 @@ +fastcgi_param QUERY_STRING $query_string; +fastcgi_param REQUEST_METHOD $request_method; +fastcgi_param CONTENT_TYPE $content_type; +fastcgi_param CONTENT_LENGTH $content_length; + +# Intentionally omitted here for cgit: +# SCRIPT_FILENAM0E +# SCRIPT_NAME +# PATH_INFO +# PATH_TRANSLATED +fastcgi_param REQUEST_URI $request_uri; +fastcgi_param DOCUMENT_URI $document_uri; +fastcgi_param DOCUMENT_ROOT $document_root; +fastcgi_param SERVER_PROTOCOL $server_protocol; +fastcgi_param REQUEST_SCHEME $scheme; +fastcgi_param HTTPS $https if_not_empty; + +fastcgi_param GATEWAY_INTERFACE CGI/1.1; +fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; + +fastcgi_param REMOTE_ADDR $remote_addr; +fastcgi_param REMOTE_PORT $remote_port; +fastcgi_param SERVER_ADDR $server_addr; +fastcgi_param SERVER_PORT $server_port; +fastcgi_param SERVER_NAME $host; +fastcgi_param REMOTE_USER $remote_user if_not_empty; + +# PHP only, required if PHP was built with --enable-force-cgi-redirect +fastcgi_param REDIRECT_STATUS 200; + +# Protect against HTTPoxy vuln +fastcgi_param HTTP_PROXY ""; diff --git a/files/usr/local/etc/nginx/vhosts.conf.git_server b/files/usr/local/etc/nginx/vhosts.conf.git_server new file mode 100644 index 0000000..fdd5f53 --- /dev/null +++ b/files/usr/local/etc/nginx/vhosts.conf.git_server @@ -0,0 +1,49 @@ +server { + listen 443 ssl default_server; + listen [::]:443 ssl default_server; + http2 on; + +$(if [ "$git_public_fqdn" != "$fqdn" ]; then + cat <