The idea of “self-hosting” git is so incredibly weird to me. Somehow GitHub managed to convince everyone that Git requires some kind of backend service. Meanwhile, I just push private code to bare repositories on my NAS via SSH.
You’re completely missing the point. Even Gitea (much simpler than GitHub, nevermind GitLab) is much more than a git backend. It’s viewable in a browser, renders markdown, has integrated CI functionality, and so on.
Even for my meager self-host use-case, being able to view markdown docs in the browser is useful from time to time, even on my phone.
As for the things I use (a self-hosted) GitLab instance at work for… that doesn’t even scratch the surface.
Bare repos with multiple users are a bit of a hassle because of file permissions. It works, and works well, as long as you set things up right and have clear processes. But god help you if you don’t.
I find that with multiple users the safest way is to set up/use a service. Plus you get a lot of extra features like issue tracking and stuff.
They didn’t convince anyone of anything, they just have a great free-tier service, so people prefer using it than self-hosting something. You can also self-hosted Github if you want the features they offer, besides Git.
This post is about “self-hosting” a service, not using GitHub. That’s what I’m responding to.
I’m not saying GitHub isn’t valuable. I use it myself. And in any situation involving multiple collaborators I’d probably recommend that kind of tool–whether GitHub or some self-hosted option–for ease of user administration, familiar PR workflows, issue tracking, etc.
But if you’re a solo developer storing your code locally with no intention to share or collaborate, and you don’t want to use GitHub (as, again, is the case with this post) a self-hosted service adds a ton of complexity for only incremental value.
I suspect a ton of folks simply don’t realize that you don’t need anything more than ssh and git to push/pull remote git repositories because they largely cargo cult their way through source control.
Is running a docker container a lot of overhead?
Ernestly asking, since my opinion is skewed cause im use to running containers.
Absolutely. Every service you run, whether containerized or not, is software you have to upgrade, maintain, and back up. Containers don’t magically alleviate the need for basic software/service maintenance.
Yes, but doesn’t that also apply for a machine running bare git?
Not containers also adds some challenges with posibly having dependecies problems. I’d say running bare git is not a lot easier than having a container with say forgejo.
No. It’s strictly more complexity.
Right now I have a NAS. I have to upgrade and maintain my NAS. That’s table stakes already. But that alone is sufficient to use bare git repos.
If I add Gitea or whatever, I have to maintain my NAS, and a container running some additional software, and some sort of web proxy to access it. And in a disaster recovery scenario I’m now no longer just restoring some files on disk, I have to rebuild an entire service, restore it’s config and whatever backing store it uses, etc.
Even if you don’t already have a NAS, setting up a server with some storage running SSH is already necessary before you layer in an additional service like Gitea, whereas it’s all you need to store and interact with bare git repos. Put the other way, Gitea (for example) requires me to deploy all the things I need to host bare repos plus a bunch of addition complexity. It’s a strict (and non-trivial) superset.
I dont know. 😆 im really just trying to get it in case -for example- of needing to advice someone in such a case :) my confusion probably comes from the fact that I have never host anything outside containers.
I still see it a bit diferent. A well structured container structure with configs as files instead of bare commands, back up volumes would be the same effort… But who knows. Regarding the rest like proxies, well you do not really need one.
Thanks taking the time to explain you point tho!
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters Git Popular version control system, primarily for code NAS Network-Attached Storage SSH Secure Shell for remote terminal access
3 acronyms in this thread; the most compressed thread commented on today has 6 acronyms.
[Thread #442 for this sub, first seen 20th Jan 2024, 16:55] [FAQ] [Full list] [Contact] [Source code]
I’ve got 3 tricks for ya:
- backups
- backups
- backups
What are you saying? My gitea is my backup!
True pro gamers just use
/Project
/Project1
/Project_latest
/Project_final
/Project_final2
/Project_final_forrealthistime
Are you the hacker known as 4Chan? How else could you know my version naming convention?
Regardless, all will be forgiven if you can remind what folder and file actually contains the final version. So… which is it?
You tried to get organized and moved it here. It says “alpha” and “test” but it’s the real one, ready for production.
~/git/projects/Project_final3-alpha-0.1.1-test
Imposter. That was a test. The real 4Chan would know that I use:
FileName.ACTUAL_REAL_LATEST_FINAL_PROD_VERSION
And it works everytime, about 70% of the time.
I was aware of forgejo back when I first started hosting Gitea. Didn’t see much of a diff back then so I just went with arguably more popular option at that time.
About few months after it’s mostly just because I’m too lazy of a person.
Forgejo is a fork of Gitea. As of now I don’t think they have diverged much. So they’re (still) about the same. It was mainly created because of the takeover of the domain and trademark by a for profit company. Not because of different functionality.
Yes this is a great idea, this had happened to tons of different projects. Always stick with the foss option
I self host gitea because I don’t want to pay Microsoft $160 a year.
Wait, isn’t github free?
For public foss projects only, afaik
I love it when I check out am applicants’ GitHub and run into a bunch of repositories with mods for hentai games.
I mean…are they good mods? Does the candidate have good code etiquette?
Honestly, the fact that a candidate would mod any game, let alone a hentai game, would be pluses in my book.
I definitely do not count it against them as long as they know how to human at the interview. I just review the code as I would any repo.
The only thing is that with regular projects I tend to go “I noticed on your GitHub you have project X that uses technology Y, etc etc”. With H projects I just go “do you have experience with Y” and let him choose how much he wants to share about the project. So far they remain vague on the non technical details and I let them leave with their dignity intact.
So, ranked, way ahead of candidates without visible projects, but slightly behind people with projects we can discuss in detail in front of the people from HR ;)
Based
Men of culture
Power move.
codes
\facepalm
His first language is probably not English, why make fun of him?
I hate English
Don’t worry, us native speakers do too.
private repo?
Is there a federated git out there yet?
It’s called “git”
Look into forgejo nee gitea. It’s the closest to a working fed option.
The license gives me the ick, so I’d never
Someone mentioned this awesome fork of it for that reason https://forgejo.org/compare/#why-was-forgejo-created
Thanks! I’m a Gitea user for years and was not aware of this. I was planning my own Gitea server, I will now forgo gitea for forgejo.
I made the switch a couple of days ago. Just downloaded the forgejo binary, renamed it to gitea and dropped it in as a replacement. Now I am running forgejo successfully.
Good to know it’s that easy!
deleted by creator
The trick is to switch to forgejo
Mental note: have to migrate my gitea instance over to forgejo.
I’m number 2