readme (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | elgit
-----
A git web frontend written in Go, forked from elgit after the author moved on.
FORK CHANGES
• Uses gomponents instead of html/template.
• Better integration with [gitolite](https://gitolite.com/gitolite/index.html)
• repo.ignore is ignored: only repositories listed in projects.list are shown.
• Supports subdirectories
• Removed syntax highlighting
FEATURES
• Cloning over http(s).
• Less archaic HTML.
• Not CGI.
INSTALLING
Clone it, 'go build' it.
CONFIG
Uses yaml for configuration. Looks for a 'config.yaml' in the current
directory by default; pass the '--config' flag to point it elsewhere.
Example config.yaml:
repo:
root: /var/lib/gitolite
readme:
- readme
- README
- readme.md
- README.md
mainBranch:
- master
- main
meta:
title: git good
description: i think it's a skill issue
server:
name: git.icyphox.sh
host: 127.0.0.1
port: 5555
compress: true
development: false
These options are fairly self-explanatory, but of note are:
• repo.root: where all your git repos live (or die). This should contain projects.list
and repositories/
• repo.readme: readme files to look for.
• repo.mainBranch: main branch names to look for.
• repo.unlisted: repos to hide, relative to root/repositories.
• server.name: used for go-import meta tags and clone URLs.
• server.compress: automatically compress responses with gzip or zstd
NOTES
• Run elgit behind a TLS terminating proxy like relayd(8) or nginx.
• Cloning only works in bare repos -- this is a limitation inherent to git. You
can still view non-bare repos just fine in elgit.
• Pushing over https, while supported, is disabled because auth is a
pain. Use ssh.
• Paths are unveil(2)'d on OpenBSD.
LICENSE
elgit is licensed under MIT.
|