← Back to context

Comment by williamsss

1 day ago

Thanks for sharing. I'll have a play with Gitea

My concern with this approach would be I've read through Directus' codebase and can understand it. With a self-hosted Git server like this I'd be worried if shit hit the fan and corrupted my Git files or stopped being maintained I'd be a duck out of water

It's also worth noting that Gitea forked a while back. The community fork is Forgejo.

https://forgejo.org/

And if you really just want a simple hosting system, https://tangled.sh is really easy to set up. It uses atproto (network underlying bluesky) as their identity provider and for tracking issues, PRs, comments, etc. Their "knot server" is basically just a little self-hosted go node that manages git repos. The project is fairly small atm and it's pretty much all in go so it's not too hard to skim through if you want to see how it works under the hood (or if you are afraid of needing to be able to keep it maintained long term).

You don't need Gitea (nor Forgejo, nor GitLab, ...). You just need `git` installed on whatever server you already have. And just use that as one of the git remotes.

  • Good call out. Most of the time people actually want one of the "wrapper" softwares because they want the collaboration components and they aren't old greybeards that want to ship around mailserv lists. But that use case doesn't apply here. There is probably no one to collaborate with in this use case, so barebones git is probably totally fine.

    Though I'd say, if you're going through all of the effort to self host something, git or otherwise, doing the "wrapper" is probably worthwhile anyway due to the convenience if you ever do need those features. It's not that much harder to do that than host a vanilla git server.

> if shit hit the fan and corrupted my Git files or stopped being maintained I'd be a duck out of water

You should have the same concern with anything you're hosting yourself, and you should have 3-2-1 backups to mitigate that concern. Gitea just uses regular Git repositories under the hood last i checked, and Git is an extremely mature system; I'd expect 20+ year old repositories to work fine as long as the data are kept physically intact.