aboutsummaryrefslogtreecommitdiff
path: root/src/cgit
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgit')
-rw-r--r--src/cgit/Dockerfile8
-rw-r--r--src/cgit/VERSION1
-rwxr-xr-xsrc/cgit/bin/entrypoint.sh51
-rw-r--r--src/cgit/etc/uwsgi/cgit.ini10
4 files changed, 70 insertions, 0 deletions
diff --git a/src/cgit/Dockerfile b/src/cgit/Dockerfile
new file mode 100644
index 0000000..45b5521
--- /dev/null
+++ b/src/cgit/Dockerfile
@@ -0,0 +1,8 @@
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.2
+SHELL ["/bin/bash", "-c"]
+RUN APT_OPTS="--no-install-recommends --install-suggests --yes" install_deb cgit uwsgi nginx-light \
+ && mkdir -p /run/uwsgi \
+ && chown www-data:www-data /run/uwsgi
+COPY etc/uwsgi/cgit.ini /etc/uwsgi/cgit.ini
+COPY bin/entrypoint.sh /usr/bin/entrypoint.sh
+ENTRYPOINT ["/usr/bin/entrypoint.sh"]
diff --git a/src/cgit/VERSION b/src/cgit/VERSION
new file mode 100644
index 0000000..a00f35a
--- /dev/null
+++ b/src/cgit/VERSION
@@ -0,0 +1 @@
+v0.0.1-alpha
diff --git a/src/cgit/bin/entrypoint.sh b/src/cgit/bin/entrypoint.sh
new file mode 100755
index 0000000..bdd6edc
--- /dev/null
+++ b/src/cgit/bin/entrypoint.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+
+cat << EOF > /etc/nginx/sites-enabled/default
+server {
+ listen $CGIT_PORT;
+ server_name $CGIT_HOSTNAME;
+ server_tokens off;
+ root /usr/share/cgit;
+
+ # Serve static files with nginx
+ location ~* ^.+(cgit.(css|png)|favicon.ico|robots.txt) {
+ root /usr/share/cgit;
+ expires 30d;
+ }
+ location / {
+ gzip off;
+ include uwsgi_params;
+ uwsgi_modifier1 9;
+ uwsgi_pass unix:/run/uwsgi/cgit.sock;
+ }
+}
+EOF
+
+cat << EOF > /etc/cgitrc
+#
+# cgit config
+# see cgitrc(5) for details
+
+root-title=git.ofmax.li
+root-desc=grumpy software
+
+readme=:README.md
+about-filter=/usr/lib/cgit/filters/about-formatting.sh
+source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
+
+enable-index-links=1
+enable-commit-graph=1
+enable-log-filecount=1
+enable-log-linecount=1
+
+css=cgit.css
+logo=cgit.png
+
+
+project-list=/var/lib/git/projects.list
+scan-path=/var/lib/git/repositories
+
+EOF
+
+uwsgi --daemonize true --ini /etc/uwsgi/cgit.ini > /dev/stdout 2> /dev/stderr < /dev/null &
+nginx -c /etc/nginx/nginx.conf -g "daemon off;"
diff --git a/src/cgit/etc/uwsgi/cgit.ini b/src/cgit/etc/uwsgi/cgit.ini
new file mode 100644
index 0000000..85ac871
--- /dev/null
+++ b/src/cgit/etc/uwsgi/cgit.ini
@@ -0,0 +1,10 @@
+[uwsgi]
+master = true
+plugins = cgi
+socket = /run/uwsgi/%n.sock
+uid = www-data
+gid = www-data
+procname-master = uwsgi cgit
+processes = 1
+threads = 2
+cgi = /usr/lib/cgit/cgit.cgi