it needs more work but https://mleku.net/legit

i have only patched it up a little to fix some glaring bugs but it needs a lot more work

the main thing i use it for is basically providing http git, the website is an accessory

if you are preferring to use apache or nginx there's tooling that comes with Git to do similar things, but i hate apache and legit is written in Go (git alone doesn't need anything, because it leverages ssh)

Ah, yeah we actually have a remote server and a remote webserver. 🤔

Reply to this note

Please Login to reply.

Discussion

well then there is git tooling that lest you do a simple web page with all the file lists and tags and commits and stuff, just a couple of related git packages

That's probably best. People should run git locally.

yeah, to run a simple git repo, you don't have to install anything other than ssh and git itself, and you just have to add all the SSH keys of the people you want to be able to access it to the user that owns where the repos are stored (as --bare)

but as i say, Go needs http and i was sick of using gitea because it forces you to have a subdirectory after the domain and i wanted my repos to be right at the root, so legit let me do that, and i upload commits using SSH

Is it possible to combine both?

Have a simple clone interface for externals and a full git server with SSH for the team?

yeah, teh simplest, if you call running apache server simple, is git-instaweb https://www.git-scm.com/docs/git-instaweb

i went with legit because it's in Go which means i can fix and change it myself

and i run https://mleku.net right off my mini PC behind my workstation that runs a bitcoin full node

"full git server" btw just means having SSH and git installed, this was part of the genius of Linus' design, you just ssh in, and the git user you log in as has your SSH key added to authorized_keys and it runs commands to the git shell that is the user's default shell

so that part is the easy part

the hard part is when you want to give access to the public, because SSH is not designed to allow ad-hoc one-off unprivileged logins, plus in my case, i use Go which depends on git HTTP

Yeah, that's the thing.

Have you considered nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6's song for a self hosted option?

#[4] is on it.

nostr:note1f88dx4vt8lq4jgv953qw7lnmu0xell0j9g5caxct2klzsquuahaq8zd9hv