commit
6969795881
6 changed files with 156 additions and 0 deletions
@ -0,0 +1,2 @@ |
|||||||
|
keys/* |
||||||
|
repos/* |
@ -0,0 +1,27 @@ |
|||||||
|
FROM nginx:alpine |
||||||
|
|
||||||
|
LABEL maintainer "jerryaldrichiii@gmail.com" |
||||||
|
|
||||||
|
VOLUME ["/srv/git/repos"] |
||||||
|
|
||||||
|
RUN apk add --no-cache git fcgiwrap spawn-fcgi highlight py3-markdown py3-docutils py3-pygments |
||||||
|
|
||||||
|
# nginx:alpine = Alpine 3.11 |
||||||
|
RUN apk add --no-cache cgit=1.2.1-r1 |
||||||
|
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf |
||||||
|
|
||||||
|
# Create group so data can be shared/accessed |
||||||
|
RUN addgroup --gid 1000 shared |
||||||
|
RUN adduser nginx shared |
||||||
|
|
||||||
|
EXPOSE 8080 |
||||||
|
|
||||||
|
COPY cgitrc.template /etc/ |
||||||
|
RUN touch /etc/cgitrc && chown nginx:nginx /etc/cgitrc |
||||||
|
|
||||||
|
COPY entrypoint.sh /entrypoint.sh |
||||||
|
RUN chmod +x /entrypoint.sh |
||||||
|
|
||||||
|
USER nginx |
||||||
|
ENTRYPOINT ["/entrypoint.sh"] |
@ -0,0 +1,71 @@ |
|||||||
|
root-title=$CGIT_TITLE |
||||||
|
root-desc=$CGIT_DESC |
||||||
|
virtual-root=$CGIT_VROOT |
||||||
|
section-from-path=$CGIT_SECTION_FROM_STARTPATH |
||||||
|
remove-suffix=1 |
||||||
|
|
||||||
|
## |
||||||
|
## Search for these files in the root of the default branch of repositories |
||||||
|
## for coming up with the about page: |
||||||
|
## |
||||||
|
readme=:README.md |
||||||
|
readme=:readme.md |
||||||
|
readme=:README.mkd |
||||||
|
readme=:readme.mkd |
||||||
|
readme=:README.rst |
||||||
|
readme=:readme.rst |
||||||
|
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.rst |
||||||
|
readme=:install.rst |
||||||
|
readme=:INSTALL.html |
||||||
|
readme=:install.html |
||||||
|
readme=:INSTALL.htm |
||||||
|
readme=:install.htm |
||||||
|
readme=:INSTALL.txt |
||||||
|
readme=:install.txt |
||||||
|
readme=:INSTALL |
||||||
|
readme=:install |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
# Cache |
||||||
|
cache-root=/var/cache/cgit |
||||||
|
cache-size=1000 |
||||||
|
|
||||||
|
enable-index-links=1 |
||||||
|
enable-index-owner=0 |
||||||
|
enable-remote-branches=1 |
||||||
|
enable-log-filecount=1 |
||||||
|
enable-log-linecount=1 |
||||||
|
enable-git-config=1 |
||||||
|
snapshots=tar.gz tar.bz2 zip |
||||||
|
|
||||||
|
robots=noindex, nofollow |
||||||
|
|
||||||
|
source-filter=/usr/lib/cgit/filters/syntax-highlighting.py |
||||||
|
about-filter=/usr/lib/cgit/filters/about-formatting.sh |
||||||
|
clone-url=git://$CGIT_FQDN/$CGIT_REPO_URL |
||||||
|
enable-commit-graph=1 |
||||||
|
|
||||||
|
# This needs to be at the bottom |
||||||
|
# https://linux.die.net/man/5/cgitrc |
||||||
|
# > Be advised that only the global settings taken before the scan-path |
||||||
|
# > directive will be applied to each repository. |
||||||
|
scan-path=/srv/git/repos |
@ -0,0 +1,17 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
export CGIT_TITLE=${CGIT_TITLE:="TEST TITLE - CHANGE ME"} |
||||||
|
export CGIT_DESC=${CGIT_DESC:="TEST DESC"} |
||||||
|
export CGIT_VROOT=${CGIT_VROOT:="/"} |
||||||
|
export CGIT_FQDN=${CGIT_FQDN:="git.changeme.com"} |
||||||
|
export CGIT_SECTION_FROM_STARTPATH=${CGIT_SECTION_FROM_STARTPATH:=1} |
||||||
|
|
||||||
|
CGIT_VARS='$CGIT_TITLE:$CGIT_DESC:$CGIT_VROOT:$CGIT_SECTION_FROM_STARTPATH' |
||||||
|
|
||||||
|
envsubst "$CGIT_VARS" < /etc/cgitrc.template > /etc/cgitrc |
||||||
|
|
||||||
|
/usr/bin/spawn-fcgi -s /tmp/fcgiwrap.socket /usr/bin/fcgiwrap |
||||||
|
|
||||||
|
/usr/sbin/nginx -g "daemon off;" |
@ -0,0 +1,38 @@ |
|||||||
|
worker_processes 1; |
||||||
|
pid /tmp/nginx.pid; |
||||||
|
|
||||||
|
events { |
||||||
|
worker_connections 1024; |
||||||
|
} |
||||||
|
|
||||||
|
http { |
||||||
|
include mime.types; |
||||||
|
default_type application/octet-stream; |
||||||
|
sendfile on; |
||||||
|
keepalive_timeout 65; |
||||||
|
gzip on; |
||||||
|
|
||||||
|
client_body_temp_path /tmp/client_temp; |
||||||
|
proxy_temp_path /tmp/proxy_temp_path; |
||||||
|
fastcgi_temp_path /tmp/fastcgi_temp; |
||||||
|
uwsgi_temp_path /tmp/uwsgi_temp; |
||||||
|
scgi_temp_path /tmp/scgi_temp; |
||||||
|
|
||||||
|
# Cgit |
||||||
|
server { |
||||||
|
listen 8080; |
||||||
|
server_name git.*; |
||||||
|
root /usr/share/webapps/cgit; |
||||||
|
try_files $uri @cgit; |
||||||
|
|
||||||
|
location @cgit { |
||||||
|
include fastcgi_params; |
||||||
|
# TODO: move fcgiwrap.sock out of /tmp |
||||||
|
fastcgi_pass unix:/tmp/fcgiwrap.socket; |
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi; |
||||||
|
fastcgi_param PATH_INFO $uri; |
||||||
|
fastcgi_param QUERY_STRING $args; |
||||||
|
fastcgi_param HTTP_HOST $server_name; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue