all repos — elgit @ 866813058ab588b1dc49cdca9f4501702ab88da9

fork of legit: web frontend for git, written in go

use markdown for readme

Alan Pearce
commit

866813058ab588b1dc49cdca9f4501702ab88da9

parent

da194b5aa1add000c1925fcb02239ad0e327e2bc

1 file changed, 77 insertions(+), 0 deletions(-)

changed files
A readme.md
@@ -0,0 +1,77 @@
+# 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.