Forgejo, a Gitea fork used by Codeberg. I chose it because it's got the right balance of features to weight for my small use case, it has FOSS spirit, and it's got a lovely package maintainer for FreeBSD that makes deployment and maintenance easy peasy (thanks Stefan <3).
Definitely best to get that done ASAP. Forgejo being a drop-in replacement for Gitea won't be guaranteed ever since the hard fork:
To continue living by that statement, a decision was made in early 2024 to become a hard fork. By doing so, Forgejo is no longer bound to Gitea, and can forge its own path going forward, allowing maintainers and contributors to reduce tech debt at a much higher pace, and implement changes - whether they’re new features or bug fixes - that would otherwise have a high risk of conflicting with changes made in Gitea.
+1 for Forgejo. I started on Gogs, then gathered that there had been some drama with that and Gitea. Forgejo is FOSS, simple to get going, and comfortable to use if you're coming from GitHub. It's actively maintained, and communication with the project is great.
I do the same. Forgejo works really well, and I'm also absolutely stoked for forge fed some day.
It also has things like CI/CD. It's a really really good project and self hosting it is relatively painless. Even integrating it with my identity provider over oidc was no problem.
Codeberg. I host my web portfolio live there and even did a small contribution to kbin when it was alive. It's great though now I'd want to look at forgejo.
Everybody else is on Github. Github is to repo hosting what Youtube is to video hosting. It's sad but that's how it is in this world of unchecked, extreme big tech monopolization. So I put my stuff up there because it's just simpler to be found.
I use Github as a dumb git repo. I don't use any of the extra social media garbage Microsoft tacked onto it. So I get free hosting and Microsoft pretty much gets no data on me - i.e. I'm a net loss to them.
You can use dumb repos as PPA and RPM sources, if you need to distribute Debian or Redhat packages. Microsoft never intented for repos to be used this way, but if I can abuse Microsoft services, I will six ways to Sunday.
Github lets you drop videos in your README.md. But here's a trick: you can use the links to the video files anywhere. In other words, you can use Github to host videos that you can post on other forums - including here on Lemmy, or on Reddit if you're still patronizing that cesspit for some reason. I find this a nice way to abuse Microsoft's resources also, and I'm all for abusing Microsoft's resources.
TL;DR: I use Github not only because it's the most prevalent git hosting service out there, but because I can abuse it and make Microsoft pay for the abuse without getting anything of value from me in return.
I'm actually continuously running github actions that I don't need running, just because I can, and because it uses up their resources.
That's something I really like about Ublue: they use Github actions, so if you build a custom image, you're using Github's processing power for it. So, go do that. Make hundreds. Bleed Microsoft dry.
Gitlab at work, because, well, it's there and it works just fine.
Forgejo at home, because it's far less resource hungry.
In the end Git is a) a command line tool for b) distributed working, so it really doesn't matter much which central web service you put in place, you can always get your local copy via git clone REPO.
I self-host forgejo. I'm not a heavy or advanced user, and it suits my needs. I barely use github any more: mainly to star repos I like, and find and use repos (there's a ton there - it's almost ubiquitous).
I love it. I can clone external repos on a schedule and build my projects based on my local cache. I'm even running some automation tasks like image deployments out of it too.
pipeline schedules. once a month I clone the remote repo into a local branch, and push it back to my repo with an automatic merge request assigned to me. review & merge kicks off build pipeline.
I also use pipeline schedules to do my own ddns to route 53 using terraform. runs once every 15 minutes.
also once a week I've got about 50 container images I cache locally that I build my own images from.
Free ultimate for open source organisations, we get a lot of free pipeline minutes without having to run our own servers for devops. Allows us to focus on development
‘Stars’ are such a dubious, gamed feature telling you little value about a project’s quality. It doesn’t really ‘support’ a project, but it does feed into the anxiety & social media sludge on the platform. We would be better without them.
sourcehut. I like how it’s structured, where issue trackers, repos, and so on are independent of each other but can be grouped using a project, and you can have as many of each as you want or none at all. You should be able to have a huge monorepo with many issue trackers, or a single issue tracker for a project split across many repos if you want. GitHub doesn’t really allow you to do either, certainly not the former, and same with most of the alternatives. Everything else seems to clone GitHub’s workflow for contributions as well which I can’t stand (sourcehut uses git send-email as the primary contribution method — but there is also a GitHub style PR button —, which apart from the email jank I find much better because once it’s set up you can just send changes to any project with just a local clone; it also means you don’t even have to be registered on sourcehut to send changes to a project hosted there).
I also self-host cgit I suppose but that’s not really a GitHub alternative.
For Darcs I have been using darcs hub & mirroring to my server. That said Smederee has slowly but surely been shaping up to be a better replacement (recently got reStructureText support!); once they have obliterate support, I will be tempted to make it primary for real since it covers all the basics.
For Pijul, I can really only use it self-hosted over SSH. Nest is far too feature barren to be usable—especially without the ability to fetch tarballs for instance where you can’t have or use the pijul binary for fetching (which is a bit ironic since the Pijul binary has an archive to create tarballs, Nest just doesn’t expose it). Pijul is faster & the key concept of separating your commit ID from details (such as Darcs or Git using Name <e@mail.address> as the identifier) is much nicer not just for privacy if wanted but changing these details for whatever your reasons maybe (imagine changing your name after marriage or sex change & trying to convince all projects you’ve committed to to rewrite their history with your new info to not be confused or dead-named—most maintainers would ignore you). Someone should write a decent, lightweight forge so Pijul can be usable.
I use Darcs/Pijul since Patch Theory is a better model than snapshot-based version control as seen in Git/Mercurial & others. Since neither have many hosting or forge options, there are not many choices (answering the “why?”).
If using Git, an inferior VCS IMO, things are now going hosted on Codeberg. In the past, I had paid for SourceHut & while it was a generally nice, lightweight experience I was disappointed with the features & progress to the point I didn’t feel I was getting good value (also no Darcs or Pijul support, just Git & Mercurial). Since I don’t write any of my own code using Git anymore, I don’t really bother self-hosting cgit, Ayllu, or something. That said, Forgejo is a pretty disappointing in its direction as they choose to clone more features from MS GitHub than even Gitea which basically leaves you with MS GitHub but FOSS without addressing some core issues (PR workflow is not good, YAML-based CI is not good, & so on); a better sell IMO would be fundamental improvements on these old models/workflows that would inspire leaving for technical reasons instead of social/political/philosophical reasons.
I've been selfhosting Gitea for years now and it's great, but I also don't really collaborate with anyone else so YMMV.
Originally I wanted to go with GitLab utb it's too resource intensive for my use case
As much as I hate GitHub, for in-person projects involving multiple people I usually end up having no choice since they usually think GitHub is the most important programming tool ever and nothing I do is going to convince them to create an account on something that's not GitHub.
For personal stuff I use Forgejo and disable everything except the code view, so I have a quick way to show people stuff I'm doing (for career reasons).
If I was doing a project with multiple people and actually got to chose the platform I would probably use Forgejo or Codeberg and make use of the project management features.
Pijul looks interesting but the ecosystem is very lacking and it doesn't integrate well with Guix which I base a lot of my workflows around, so until this improves switching to pijul creates more problems than it fixes. The only other VCS and frontend I'm familiar with is GitLab which I don't use anymore self-hosted since Forgejo is more performant and the main version randomly deleted all my repos and changed all sorts of stuff.
cgit also looks interesting, I might look into it.
This. Gitlab swapped out the performant webeditor for a VCS clone that runs like a fucking dog all.the.time, and they're in a phase where they just can't control their memory consumption while they focus on whole-sale vendoring of shit projects inside the code -- they're actually considering bringing in pulp as if they can figure out 20 kind of artifact storage but RPMs are a special snowflake requiring the worst bloated pig of an add-on ever.
I need gitlab to get better as I really like their CI specification and how not-fucking-YAML it is.
I just self host gitolite. I wrote a script for archiving tagged versions to zip files as well as an optional parameter to pipe code into a markdown file and convert that to HTML for code i wish to show people. Everything else I do through the cli and have no use for a fancy UI.
Do you really use it or are you just adding an alternative to the conversation? It is an interesting concept (commutation) but not likely to supplant git.
I use it for self hosting because all I need installed is sshd and the pijul package. Then I can set my server's
;p as my remote. The "nest" web UI (the Pijul equvivalent to git tea) is in development and not open source yet, but you can use the hosted version at https://nest.pijul.com/ if you're curious.
I considered using pijul but everything in Nix/Guix is oriented around git as are the plugins for my text editor and CLI, and there aren't good self-hosted web frontends that I can use to put pijul projects on my linkedin profile or whatever. I want to switch to it but the ecosystem surrounding it needs to actually exist first.
This is actually why I prefer using pijul. I don't want to commit my secrets to a git repo and nix will refuse to build because I'm pulling in files that aren't tracked. Simple solution is to not make the flake directory a git repo and it won't complain. That's my solution at least. I also prefer using git (and therefore pijul) via cli rather than as a text editor integration so my experience differs.
The 1.0 is in beta. There has been a lot of refactoring to get it to this point. I would say there's still many quality-of-life features missing that would stop me from using it in a professional setting but for hobby projects it's meeting my needs (and gets better with each new beta build). They only have a few project backers but the main developer has been working very steadily on it.
I'm asking this because I'm self learning and new.
Is there a place I can host my code? I've been build a pretty robust app in visual code Windows Forms C#. I don't want to advertise or anything. I just want to have the code hosted as a backup