Back to News
Advertisement

Ask HN: Alternatives to GitHub

ddhruv3006 about 2 hours ago 109 comments

FR version is available. Content is displayed in original English for accuracy.

Github has been down consistently over the last few months - does it make sense to switch to alternatives?
Advertisement

⚡ Community Insights

Discussion Sentiment

76% Positive

Analyzed from 3183 words in the discussion.

Trending Topics

#github#https#forgejo#self#gitlab#gitea#codeberg#org#actions#com

Discussion (109 Comments)Read Original on HackerNews

plqbfbvabout 1 hour ago
To all of those proposing self-hosted GitLab: we did it for 6+ years in my company, and it's not always a smooth sailing. We had our own runners and we made it auto-upgrade across docker images daily before business start. It mostly worked really well, except those few times were a Docker upgrade had to be rolled back, or that one time the bundled pg_shared_buffers was set at 1MB by default, making schema upgrades impossible for bigger instances, or a version major would break pipeline expectations forcing to upgrade 200+ repos at a time (we pinned to major afterwards). Lately I was also receiving an almost weekly "critical patch" newsletter due to critical/high vulnerabilities, which I can only imagine are due to LLM running over the code and identifying bugs.

That said, I wish we hadn't migrated to GH, our self-hosted instance had WAY less downtime despite being perhaps a bit slower (mgmt saving money) and required a bit more toil: GH is nowhere near Enterprise-ready and it feels a downgrade across the board. GL has better access granularity, better docs, better integrations, and you can clearly see the UI received a lot of attention (although it does take 10m with a new account to pin the proper items in the maze of sub-menus that is the sidebar). You can also look at the code and help out if needed, and/or simply provide a patched version to your image via a docker mount.

If you're really looking at self-hosting GitLab for a smallish team (up to 50-100 ppl), prepare at the very least a 16GB machine (best 32GB) with 4 cores and a decent SSD, and at least a small team (1-3 people) that can maintain it properly or jump at it at any moment. For runners, a small k3s cluster is ideal to make use of all the resources you can throw at it without worrying about managing the runner state/configuration.

inanothertime44 minutes ago
Setting up custom GitLab runners can be cumbersome in the beginning! We faced that multiple times with various customer projects for which we were using GitLab.com managed repos. That's why my colleague and I recently built a "GitLab Runners as a Service" [0] -- simply use your self-managed GitLab or GitLab.com account to login, adding pipeline runners is a 1-click operation! Under the hood we provision a Hetzner machine for you runners and automatically connect your GitLab group or project to it. Happy to hear your feedback!

[0] https://rocketrunner.io/

wongarsu35 minutes ago
I'd also say that gitlab runners are the biggest failure point in gitlab and take some work to micro-manage. If I was setting up from scratch I would consider gitlab for source control, but some hosted service for CI
inanothertime30 minutes ago
Maybe give https://rocketrunner.io a try? We made super easy and fully managed GitLab CI/CD runners for GitLab.com or self-hosted GitLab servers :-)

(Sorry for posting this twice, but we'd really love to get more user feedback)

codexbabout 1 hour ago
Yeah, it's mind blowing to me that GH still doesn't have a branch viewer in each repo.
icy6 minutes ago
https://tangled.org! Founder/CEO here. We're a new forge building things from the ground up, and are fully federated -- you can host your git repos on your own infra, along with the CI runners. We've also got a pretty neat set of features (if I may say so myself): stacked PRs, Nix-based CI (if you want it), and a fully open protocol (https://atproto.com) to for you and your agents.

Happy to answer any questions.

polycasterabout 2 hours ago
bobkbabout 2 hours ago
Is their CI and CD workflow robust like gitlab/github ?
cobertosabout 1 hour ago
It's based on act[0] so it's quite like GitHub actions but not completely [1].

I found in the current version of Forgejo the most secure way to set it up was just to put the runner on a different host. There's a Docker in Docker setup [2] that was challenging to get working correctly but still didn't quite feel secure...

After setting it all up, I'm convinced GitHub actions as a concept is flawed. I wish the community would make a simpler git-defined CI/CD that didn't have the crazy surface area that actions does... Named shell scripts that can call out to other stuff in the runner Docker image and report it to the UI would be a nice start.

[0]: https://github.com/nektos/act

[1]: https://forgejo.org/docs/v15.0/user/actions/github-actions/#...

[2]: https://forgejo.org/docs/v15.0/admin/actions/docker-access/#...

dborehamabout 1 hour ago
Agreed. GitHub Actions feels like someone's science project created while on a mushroom trip. Really you just want a thing that executes a shell script in a runner.
vinnymacabout 1 hour ago
If you know GitHub actions then you’ll immediately understand Forgejo actions. It was designed that way intentionally. There are some differences, but at least for me not enough to warrant any pitchforks.

If you have advanced use cases you might be more frustrated, but I’m not aware of any off the top of my head. I think my biggest complaint is that they haven’t exposed action logs over the API, so I can’t build tooling around them at the CLI level, feed them to an LLM, or more quickly diagnose problems that arise without using the website.

mfenniakabout 1 hour ago
A basic API to access Actions logs was added in Forgejo v16. `/api/v1/repos/{owner}/{repo}/actions/jobs/{job_id}/logs`
Arrowmasterabout 1 hour ago
You can use any CI/CD you want. The only reason GH is popular is that it's free for public repos.

But Forgejo does have a GH like CI/CD. If you really care about good CI/CD then you should try some of the alternatives out and decide what works best for your needs.

dreamcompiler44 minutes ago
> The only reason GH is popular is that it's free for public repos.

It's also free for private repos, and I have both. Codeberg doesn't like private repos, so unfortunately I cannot just move everything to Codeberg. I'll probably set up a Forgejo VPS somewhere.

Valodimabout 1 hour ago
What can you recommend?
esafakabout 1 hour ago
More than that, it is integrated with Github.
td-andrewabout 1 hour ago
Hooks directly into drone.io using SSO.

Self host both of them on my internal network. Technically old version of gitea which is forgejo pre-fork

bogwogabout 1 hour ago
Extremely yes
lejeanvaljeanabout 1 hour ago
"Forget Joe", not the best name for a git repo host
mariocesarabout 2 hours ago
I answered this in another thread, if you're already running a large GitHub organization, GitLab is the closest alternative in terms of features

A big plus is that it also has an open-source Community Edition that you can self-host

axegon_about 1 hour ago
I migrated everything to codeberg several months ago (and created an annual donation schedule). I was never a big fan of github but what ultimately pushed me to ditch it was the way github was shoving copilot/chatgpt in my face without me ever asking. Codeberg has a clear stance on that and it's a stance I can totally get behind.

In addition I spun up forgejo at a server at home for very critical stuff and it's awesome.

Anon1096about 1 hour ago
Note: if your reason for switching is purely uptime, you will be sorely disappointed with codeberg

Their own site reports the 2 week uptime at 1 nine https://status.codeberg.org/status/codeberg and I suspect if you use the (really terrible) across-all-product-offerings uptime methodology that people love to post for github it would be a 0 nines overall service.

axegon_36 minutes ago
The reason for switching was shoving all the slop down my throat, even when just browsing. There are a couple of things I have published and a handful of others I plan on open sourcing some day so for the purpose, codeberg does a brilliant job. For work - meh i'm in a corporate environment running internal repositories on company servers so that's less of an issue still.
bogwogabout 1 hour ago
Codeberg for open source and Forgejo for private (and slop, if you're into that kind of thing) is what winners do
axegon_about 1 hour ago
I'm not into that kind of stuff honestly: in my case Forgejo is for stuff I don't feel comfortable with leaving the boundaries of my apartment.
ryuuseijinabout 1 hour ago
Forgejo is great to self host. I have an easy to use template for setting it up on fly.io with backups here: https://forgejo-fly.fly.dev/forgejo-admin/forgejo-fly
quaintdevabout 2 hours ago
izolate22 minutes ago
First I've heard of this, but they seem to be a young, smart and energetic team on a great trajectory. The atproto choice is interesting, fits their social-minded goal.
ch71r2233 minutes ago
How easy is it to set up and run this for private repos?

It looks like it has so many cool features -- stacked PRs, jujutsu support, CI in Nix VMs. But I've never tried it because it sounds like (at least by default) it's some sort of decentralized, peer-to-peer public thing

ukd1about 1 hour ago
I've used gitlab and gitea; gitea is faster, and easier to manage and does everything I actually need though, is less feature complete.
techknowlogick42 minutes ago
I'm one of the project leads of Gitea. I'd be interested in knowing which features you are missing from Gitea compared to Gitlab? We are doing some backlog grooming right now, and input is very appreciated:)
n4pw01fabout 2 hours ago
Self hosted GitLab has been good to me forever and has scaled and has a controllable attack surface as long as you keep on top of it

Newer app is moving to Google Cloud Secure Source Manager (because we are on Google Cloud and using backbone auth so it made more sense and less involved to manage)

fosterfriends11 minutes ago
gritzkoabout 1 hour ago
I strongly disagree with the assumption that GitHub's alternative is another centralized forge. Git itself is perfectly decentralized, as was the original Linux kernel development process. How people managed to put all their eggs in one intermittently available service is beyond me. Moving the eggs into another bucket is not a solution (like Microsoft is short of servers). The SPoF is the problem. There are plumbing, porcelain and "github" layers. The "github" part has to be decentralized as well. Then, using a particular forge will be a choice of convenience, not necessity. https://replicated.live/blog/crdt
anon700029 minutes ago
Oh, it’s really simple why this happened:

1. People do not like email-based patch processes.

2. GitHub made everything dead simple, and free. Lots of Open Source projects have flourished because GitHub is both easy to use and makes collaboration across repository painless.

3. Very few people actually care about decentralization. As long as you have a full copy of your repo on your own machines as well as GH, it’s hard to argue you’re gaining anything with decentralization.

4. Most people also don’t want to self host a git server.

Advertisement
ashton314about 2 hours ago
Forgejo is splendid. Codeberg is a hosted instance; depending on what you’re developing it may or may not be a good fit for you. But the Forgejo stack itself is decently light-weight to self-host, very fast to use, and is easy to navigate.
notpushkinabout 1 hour ago
> depending on what you’re developing it may or may not be a good fit for you

I think if your project is free / open source (edit: and you don’t use LLMs/AI), Codeberg is the a good starting point at least. You can move on to a self-hosted instance if you feel you’ve outgrown it, but even for larger projects I think you can get away with self-hosting just the CI runners.

And don’t forget to donate! https://donate.codeberg.org/ / https://join.codeberg.org/

bdloweryabout 1 hour ago
if you use ai to program at all you can't use codeberg.
notpushkinabout 1 hour ago
Good point, I forgot they’ve recently banned it. Updated my comment.
thangalin19 minutes ago
https://repo.autonoma.ca/treetrek

I self-host using my own read-only, FOSS, pure PHP Git repository reader for personal projects.

cautiouscatabout 1 hour ago
I use Forgejo + Gitea for my home forge, then Tangled for anything I want to share with my own runner.

I self host Lore for my gamedev projects.

melezhikabout 2 hours ago
DSCI - http://deadsimpleci.sparrowhub.io

- lightweight ( single binary written on golang ) - ci runner embedded ( podman / docker ) - pipelines are written on general programming languages - no YAML craziness - Perl/Python/Bash/Raku/Powershell/Php/Golang support - code editor

lluisantoni20 minutes ago
Not sure if someone mentioned it already but I also used bitbucket in the past and found it very easy to use with a similar offering as github.
artooroabout 2 hours ago
I'm mostly using GitLab right now, both self-hosted and their hosted platform. But am curious about Cursor Origin and certainly plan to try that out when it's available.
enriqutoabout 2 hours ago
my favourites are sourcehut (that has excellent ci, and does not try to be a github clone) and codeberg (with slightly more straightforward migration path from github)

[0] sr.ht

[1] codeberg.org

petcatabout 1 hour ago
Does sourcehut still require patches via email instead of "pull requests"? That was the deal breaker for me last time I looked at it.
enriqutoabout 1 hour ago
> Does sourcehut still require patches via email

I'd guess the technically correct answer to this question is "yes". But sourcehut has very good mailing list support, that is essentially equivalent to github pull requests.

Still, I find the wording of your question a bit prejudiced... as if I asked "does github still require pull requests via a proprietary interface instead of just sending the patches?"

jm4about 1 hour ago
I self host Forgejo on a cheap VPS with hourly borg backups to rsync.net. It's a great system and seems comparable to github, although I'm not a heavy user of actions on either platform. I do use the container registry though. It was a smooth transition and easy to install. I used the docker installation method. Forgejo is great if you don't mind hosting yourself.
melezhik30 minutes ago
You may consider dsci as its ci is baked in and it uses general programming languages directly as the first class citizens
madebywelchabout 1 hour ago
I moved to gitea + ec2 spot for actions w/ mirroring to GH for the time being.
ivan_gammelabout 1 hour ago
I moved recently to Gitoro with private projects, but do not have any meaningful opinion about it yet. It works for me, it’s fast, nothing to complain about. Just mentioning it here as EU-hosted alternative.

https://gitoro.com/

Advertisement
herpdyderpabout 1 hour ago
I'm working on self hosting Gitea right now. Hopefully it goes well!
techknowlogick42 minutes ago
Best of luck! I'm one of the project leads of Gitea, and if you run into any issues please feel free to hop into our chat:)
yogsotothabout 2 hours ago
I personally host a forgejo instance on a private VPS ; so far almost no maintenance except protecting it from ai-crawlers[#1]. If you don't want the hassle, codeberg.org is a public instance of forgejo.

[#1]: https://her.esy.fun/posts/0031-how-i-protect-my-forgejo-inst...

I configure my local repositories to push on both Github and my forgejo instance. I am not using the CI much for my private projects (local tests are enough in my case).

arsenkkabout 2 hours ago
cursor are launching a new one soon - https://cursor.com/origin
PufPufPufabout 1 hour ago
We already have a vibe-coded forge, it's called GitHub
esafakabout 1 hour ago
This one is not managed by Microsoft.

edit: I'll take their engineering culture over MS.

arsenkk25 minutes ago
This one is managed by SpaceX now.
lnenadabout 1 hour ago
I'm running gitea successfully with very little resources.
techknowlogick41 minutes ago
That's great to hear! I'm one of the project leads of Gitea, and if you ever run into any issues please feel free to hop into our chatroom:)
sssilverabout 1 hour ago
If only there was a convention for storing PRs and issues and wiki inside the repository itself, similar to how Fossil[1] does it.

Then all the GitHubs and Gitlabs of this world would be limited to just providing UI and would be unable to hold our data hostage by design.

[1] https://fossil-scm.org/home/doc/trunk/www/index.wiki

rwl35 minutes ago
I started using fossil recently and have been quite pleased with this aspect of it. I miss a few things from the git world (mostly magit and its magical ability to stage individual hunks of a diff) and there are a few rough edges, but I totally agree that having a wiki and issue tracking inside the repository makes so much sense. fossil‘s simplicity is a breath of fresh air for anyone who has to use git from a CLI. Well worth a try for anyone on the fence.
sssilver27 minutes ago
The workflow is paradigmically different, and that may throw many people off.

There's no rebase, on principle. Branch names are permanent attributes of commits. Even abandoned branches remain visible forever. Code review is post-hoc.

People who are extremely accustomed to Git workflows may find the paradigm alienating.

paularmstrong22 minutes ago
I've used git-bug[1] for issues and it works pretty well. The web-ui is lagging behind and PR support would be everything you'd need to ditch a central-hosted web instance.

[1] https://github.com/git-bug/git-bug

dawn3727about 2 hours ago
You might want to consider checking out GitLab and Gitee.
teekertabout 2 hours ago
You mean Gitea [0], a community-driven fork is Forgejo. There was some drama, have to admit is still don't really understand it (ask an llm I'd say). Codeberg [2] uses Forgejo and offers it as a hosted service.

[0] https://about.gitea.com/

[1] https://forgejo.org/

[2] https://codeberg.org/

techknowlogick38 minutes ago
FWIW Gitea is still community driven as before, there are yearly elections for the community maintainers for TOC leadership.

disclaimer: I'm one of the project leads of Gitea

arccyabout 2 hours ago
Technically gitee is also a git hosting provider: https://gitee.com/ (scroll to bottom right corner for language switcher).
Havocabout 2 hours ago
Other way round. Forgejo is a fork of gitea
teekertabout 2 hours ago
That's what I said, but indeed in a very bad way :)
rambojohnsonabout 1 hour ago
how has nobody mentioned https://codeberg.org ?

it gives you the obvious gitHub alternative: open-source, community-owned, privacy-respecting, non-corporate, and not built around turning your development workflow into a Microsoft-owned platform.

dreamcompiler41 minutes ago
All of that is good except if you also have a lot of private repos at GH, you cannot move them to Codeberg.
bfrogabout 1 hour ago
radicle.xyz to avoid centralization again
HeadOfProbingabout 2 hours ago
What are people using as alternatives for GitHub Actions specifically these days?
bdcravensabout 2 hours ago
Classic CI vendors like Semaphore, Circle, etc are options.
maratcabout 1 hour ago
I feel like something is missing from your list of "classic CI vendors" but can't exactly jput my jfinger on jit.
BaudouinVHabout 1 hour ago
Ironically hosted on Github Gogs is a self-hosted forge : https://github.com/gogs/gogs
Advertisement
vehemenzabout 2 hours ago
My org's GitHub Enterprise never goes down. The feature set is almost the same, though it lags a few months behind. At least you don't have to learn anything new.
jtokophabout 1 hour ago
My previous org’s GHE went down all the time. It couldn’t handle the CI and automation tooling hitting it as often as an org of our size needed it to. So I can totally see cloud not being able to handle the new AI scale
herpdyderp43 minutes ago
I'm assuming you mean Enterprise Server (non-cloud), because my GitHub Enterprise Cloud is down right now.
ktm5jabout 2 hours ago
My org self hosts the community version of gitlab and we are perfectly happy with it. Manage your own infrastructure, put the work into maintaining it and you'll have much fewer headaches.
epiccolemanabout 2 hours ago
I've been a Gitlab fan for a long time[0]. I typically default to GitHub for my repo slop[1], but if I'm doing something serious I put it in Gitlab. I like their CI setup better than GitHub and there's also self-host options if any of those "serious" projects ever needs that.

Also back in the day, you needed a paid account to make private repos on GitHub, but Gitlab made them free.

Anyway I haven't heard anyone complaining about Gitlab going down constantly, maybe just a function of not being the default slop-forge in the AI era, but still, they've been a long time friend to my constant hackery.

Also, Microsoft sucks.

[0]: over the years the UI has gotten a good bit more cluttered and annoying, so there's probably slicker stuff out there. But it's fine.

[1]: some of this is definitely vibe-coded LLM-vomit but I mean a more general type of slop in this case - random throwaway code, half baked ideas, etc.

Helmut10001about 1 hour ago
Yes! And for those complaining that gitlab CE selfhosted is resource hungry: It can be tuned to only use 2 GB memory in total and run perfectly fine for a single developer or limited concurrency. Gitlab CI is awesome.
beoutdoorsabout 1 hour ago
My org uses a self-hosted instance of RhodeCode Enterprise. It's not as feature rich as GitHub, but it's worked well for us.
CodeAndCuffsabout 2 hours ago
If an org is heavily invested in GitHub Actions and GitHub App integrations, is self-hosting GitHub enterprise the only practical option?
woodrowbarlowabout 1 hour ago
no; gitea and foregjo both support actions-style CI/CD and both serve mostly GH-compatible APIs and have GH-style apps. it's not 100% compatible (forgejo is more compatible than gitea), but many of your workflows might "just work" without even renaming the .github folder.
techknowlogick36 minutes ago
I'm one of the project leads of Gitea and we've put a ton of work into Gitea Actions, I'd be interested in any compatibility gaps that you've run into.
jdubabout 1 hour ago
Buildkite has built a GitHub Actions adapter... a good first step out of the GitHub Actions supply chain attack trap.
wejickabout 1 hour ago
What part of github that's so sticky?

For me it's action and PR history.

BaudouinVHabout 2 hours ago
bigstrat200324 minutes ago
Whatever you do, you should self-host it. Then you aren't going to be at the mercy of some third party when they start to get hammered by vibe coders doing an insane amount of traffic. Forgejo is a great option if you want something git-based. I'm personally very partial to Fossil, it works well and is dead easy to set up.
AndrewKemendoabout 2 hours ago
I’ve been happy self hosting gitea

https://about.gitea.com/

techknowlogick36 minutes ago
Woo! Thanks for the shoutout. I'm one of the project leads of Gitea, and if you ever run into any issues please feel free to hop into our chat:)
zdgeierabout 1 hour ago
I’m building a non-git alternative

https://oak.space

Would love for anyone to check it out!

pwython23 minutes ago
Very interesting, I missed your original post[0], will definitely look into it further. What's new since you've posted?

[0] https://news.ycombinator.com/item?id=48631726

Advertisement
timetraveller2634 minutes ago
For CI/CD woodpecker has been working for us really well https://woodpecker-ci.org/
Pxtlabout 1 hour ago
A big thing with Github its the unified functionality across most of the OSS world - that we can search across all projects, leverage pipeline actions from other projects, and easily have a single dashboard for our own contributions and interests across all projects.

I'd hate to see a move to forge balkanization lose this functionality. But this would not be heavyweight data to federate. So are there any forges with a good story for federation?

dborehamabout 1 hour ago
There was some work to address this issue with federation in Gitea, but I haven't kept up with how well that went. Our practical solution was to just mirror our Gitea repos into GitHub. That way they're discoverable, releases can be downloaded, and so on. Not a perfect solution because users get confused as to why they can't open issues, etc.
techknowlogick28 minutes ago
I was one of the members who was a part of the initial grant for federation in Gitea, but sadly due to illness and other similar neither I nor my teammate were able to work on the grant (so no funding ended up being released), however the work we did start was completed, and we have continued to work on foundations since. Since spam/moderation/limitations are so significant we are focused on that portion first, since we don't want to open up another vector for it without having at least the minimum of protections in place. We have also been extremely fortunate to have experienced developers who do work on existing federated software share so much of their time, expertise, and experiences with us to help shape our work.
Pxtl43 minutes ago
That would be good for following, but I'd worry about contributions. Single-sign-on would help but if you're going to ask the user to create a new username+password to log a bug you're not going to get bugs from anybody except your most hardcore users.

Also, unified dashboards/notifications are so useful (even though Github's notification UI is a bit mediocre, imho).

ChrisArchitectabout 2 hours ago
Recently:

GitHub has alternatives, but no replacement

https://news.ycombinator.com/item?id=49135365

Why developers are ditching GitHub for Codeberg and self-hosting alternatives

https://news.ycombinator.com/item?id=48842611

sneakabout 2 hours ago
I self host Gitea and have been supremely happy with it.
slackfanabout 1 hour ago
We're moving over to self-hosted forgejo. Interface is roughly similar, featureset is roughly similar enough.
anticensorabout 2 hours ago
If you accept a non-Git VCS, Pijul Nest.
bdloweryabout 1 hour ago
use codeberg if you're ok with never using ai in any of your projects. Any AI use and your repo is banned. - https://blog.codeberg.org/protecting-our-floss-commons-from-...
rvzabout 1 hour ago
It is time to switch to self-hostable alternatives.

It made sense 6 years ago as I said before [0], today it makes even more sense to self host with GitLab, Gitea or Forgejo.

...Or we can repeat the same issues again with Cursor Origin [1].

[0] https://news.ycombinator.com/item?id=22868406

[1] https://cursor.com/origin

beanjuiceIIabout 2 hours ago
i use it quite often and it has not really been 'consistently down'