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 76 77 78 79 80 81 |
legit ----- A git web frontend written in Go. Pronounced however you like; I prefer channeling my beret-wearing Frenchman, and say "Oui, il est le git!" But yeah it's pretty legit, no cap on god fr fr. FEATURES • Fully customizable templates and stylesheets. • 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: scanPath: /var/www/git readme: - readme - README - readme.md - README.md mainBranch: - master - main ignore: - foo - bar dirs: templates: ./templates static: ./static meta: title: git good description: i think it's a skill issue server: name: git.icyphox.sh host: 127.0.0.1 port: 5555 These options are fairly self-explanatory, but of note are: • repo.scanPath: where all your git repos live (or die). legit doesn't traverse subdirs yet. • repo.readme: readme files to look for. Markdown isn't rendered. • repo.mainBranch: main branch names to look for. • repo.ignore: repos to ignore. • server.name: used for go-import meta tags and clone URLs. NOTES • Run legit 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 bare repos just fine in legit. • The default head.html template uses my CDN to fetch fonts -- you may or may not want this. • Support or cgit-like filters (for readmes etc.) is planned. • Pushing over https, while supported, is disabled because auth is a pain. Use ssh. • "Private" repos only available over Tailscale is planned. LICENSE legit is licensed under MIT. |