Live data from Hacker News

How Git servers work, and how to keep yours secure

gemini.nytpu.com

1–10 of 51 posts

Re: How Git servers work, and how to keep yours secure

#6
The article makes the presumptions that one would be running Arch on a server and that you must be using nginx as a web server.

The latter half of that is particularly striking to me, given that he immediately dives into a shortcoming of nginx... rather than reaching for Apache, he works around nginx's shortcoming.

Re: How Git servers work, and how to keep yours secure

#7

If interested in self hosting your git repos have a look at gitolite: https://gitolite.com/gitolite/index.html

Gitolite is good if you want a locked-down git server with sophisticated access control

Gitolite provides a command-line UI only; you can use it with gitweb or cgit to allow people to view repositories in a web browser.

No issues or pull requests or fancy stuff like that!

Re: How Git servers work, and how to keep yours secure

#9
post #7

If interested in self hosting your git repos have a look at gitolite: https://gitolite.com/gitolite/index.html

Gitolite is good if you want a locked-down git server with sophisticated access control Gitolite provides a command-line UI only; you can use it with gitweb or cgit to allow people to view repositories in a web browser. No issues or pull requests or fancy stuff like that!

gitolite is pretty fancy but depends on a text based configuration, and it's easy to make your own git-shell which is basically a shell that will allow certain commands, and assign each ssh key to a git-shell with arguments such as a username if you want to bind to a db or something

Re: How Git servers work, and how to keep yours secure

#10
Is there a rock-solid git server that I can use on a home server for versioned immutable backups of misc. files on personal devices (e.g., account config), as well as private software development git repos?

(I've done a cheaper version of this -- except for the immutable part, and the separation of accounts between devices -- in the past using SSH+SVN to a home server, and it was great.)

I was thinking immutable from the perspective of a device. A given device can pull branches of certain repos, and make commits to the branches. But a device's user account on the git server doesn't have permission to affect past commits. So, for example, if my dodgy Linux smartphone is compromised, a hypothetical person who isn't being nice can't do anything to my backups, other than make bogus additional commits.

Maybe each device has its own branch (e.g., `big-laptop`, `little-laptop`, `smartphone`, `media-server`), where they can commit their changes, and maybethey can pull from main/trunk. And then the physical console for the git server lets me inspect and merge changes from the different devices, so that other devices can pick up those changes.

I thought about starting with Gitlab CE, but that's pretty big, so, even if the features could be made to do what I want, I don't know whether I'd always be running too many vulnerabilities that defeat some of my purposes.

Post reply on HN