aboutsummaryrefslogtreecommitdiffstats
path: root/cgit
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-10-03 12:13:05 +0200
committerHarald Welte <laforge@osmocom.org>2020-10-03 12:36:04 +0200
commit28a44de777ee19d96274318ff6be145fa1a28fc6 (patch)
tree9f6ed3a944bbeae6984b1c5d9c95f25eeef659dc /cgit
parente5f036796c7aa66f72f31e79ef9708aaf4003b49 (diff)
cgit: Don't depend on unmaintained upstream; work directly with debian
Diffstat (limited to 'cgit')
-rw-r--r--cgit/Dockerfile27
-rw-r--r--cgit/config/cgitrc36
-rw-r--r--cgit/config/nginx.conf23
3 files changed, 84 insertions, 2 deletions
diff --git a/cgit/Dockerfile b/cgit/Dockerfile
index 4cf494a..6af0d58 100644
--- a/cgit/Dockerfile
+++ b/cgit/Dockerfile
@@ -1,7 +1,30 @@
-FROM ankitrgadiya/cgit:debian-nginx
+# from https://github.com/ankitrgadiya/docker-cgit/blob/master/debian-nginx/Dockerfile
+################################################################################
+FROM debian:latest
-# This adds the Osmocom specific syntax highlighting + redmine/gerrit integration
+# Update repositories the system
+RUN apt-get update
+
+# Install packages
+RUN apt-get install git cgit nginx highlight fcgiwrap -y
+
+# Add configurations
+ADD config/nginx.conf /etc/nginx/sites-available/git
+ADD config/cgitrc /etc/cgitrc
+
+# Enable configuration
+RUN rm -rf /etc/nginx/sites-enabled/*
+RUN ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git
+# Start
+EXPOSE 80
+CMD service fcgiwrap restart && nginx -g 'daemon off;'
+
+# osmocom additions
+################################################################################
+
+# This adds the Osmocom specific syntax highlighting + redmine/gerrit integration
+RUN apt-get update
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 \
diff --git a/cgit/config/cgitrc b/cgit/config/cgitrc
new file mode 100644
index 0000000..770e37d
--- /dev/null
+++ b/cgit/config/cgitrc
@@ -0,0 +1,36 @@
+# CGIT config
+virtual-root=/
+
+css=/cgit.css
+# logo=/logo.png
+footer=
+
+source-filter=/usr/lib/cgit/filters/syntax-highlighting.sh
+root-title=Repositories
+root-desc=
+noplainemail=1
+
+# clone-prefix=http://example.com
+
+# Enable snapshots
+snapshots=tar.gz zip
+
+# Disable owner index
+enable-index-owner=0
+
+mimetype.git=image/git
+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
+
+# Caching
+cache-dynamic-ttl=60
+cache-static-ttl=44640
+cache-root-ttl=6
+cache-repo-ttl=120
+
+scan-path=/git
+
diff --git a/cgit/config/nginx.conf b/cgit/config/nginx.conf
new file mode 100644
index 0000000..4c91d52
--- /dev/null
+++ b/cgit/config/nginx.conf
@@ -0,0 +1,23 @@
+server {
+ listen 80 default_server;
+
+ # listen 443 ssl;
+
+ # ssl_certificate /etc/nginx/certs/final.crt;
+ # ssl_certificate_key /etc/nginx/certs/private.key;
+
+ server_name localhost;
+ index cgit.cgi;
+
+ root /usr/share/cgit;
+ try_files $uri @cgit;
+
+ location @cgit {
+ include fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi;
+ fastcgi_param PATH_INFO $uri;
+ fastcgi_param QUERY_STRING $args;
+ fastcgi_param HTTP_HOST $server_name;
+ fastcgi_pass unix:/run/fcgiwrap.socket;
+ }
+}