Lazy has nothing to do with it, codeberg simply doesn't work.
Most of my friends who use codeberg are staunch cloudflare-opponents, but cloudflare is what keeps Gitlab alive. Fact of life is that they're being attacked non-stop, and need some sort of DDoS filter.
Codeberg has that anubis thing now I guess? But they still have downtime, and the worst thing ever for me as a developer is having the urge to code and not being able to access my remote. That is what murders the impression of a product like codeberg.
Sorry, just being frank. I want all competitors to large monopolies to succeed, but I also want to be able to do my job/passion.
Philosophically I think it's terrible that Cloudflare has become a middleman in a huge and important swath of the internet. As a user, it largely makes my life much worse. It limits my browser, my ability to protect myself via VPNs, etc, and I am just browsing normally, not attacking anything. Pragmatically though, as a webmaster/admin/whatever you want to call it nowadays, Cloudflare is basically a necessity. I've started putting things behind it because if I don't, 99%+ of my traffic is bots, and often bots clearly scanning for vulnerabilities (I run mostly zero PHP sites, yet my traffic logs are often filled with requests like /admin.php and /wp-admin.php and all the wordpress things, and constant crawls from clearly not search engines that download everything and use robots.txt as a guide of what to crawl rather than what not to crawl. I haven't been DDoSed yet, but I've had images and PDFs and things downloaded so many times by these things that it costs me money. For some things where I or my family are the only legitimate users, I can just firewall-cmd all IPs except my own, but even then it's maintenance work I don't want to have to do.
I've tried many of the alternatives, and they often fail even on legitimate usecases. I've been blocked more by the alternatives than I have by Cloudflare, especially that one that does a proof of work. It works about 80% of the time, but that 20% is really, really annoying to the point that when I see that scren pop up I just browse away.
It's really a disheartening state we find ourselves in. I don't think my principles/values have been tested more in the real world than the last few years.
Either I am very lucky or what I am doing has zero value to bots, because I've been running servers online for at least 15 years, and never had any issue that couldn't be solved basic security hygiene. I use cloudflare as my DNS for some servers, but I always disable any of their paid features. To me they could go out of business tomorrow and my servers would be chugging along just fine.
Maybe I'm too old school, but both GitHub and Codeberg for me are asyncronous "I want to send/share the code somehow", not "my active workspace I require to do work". But reading
> the worst thing ever for me as a developer is having the urge to code and not being able to access my remote.
Makes it seem like GitHub/Codeberg has to be online for you to be able to code, is that really the case? If so, how does that happen, you only edit code directly in the GitHub web UI or how does one end up in that situation?
For me it's a soft block rather than a hard block. I use multiple computers so when I switch to the other one I usually do a git pull, and after every commit I do a push. If that gets interrupted, then I have resort to things like rsyncing over from the other system, but more than once I've lost work that way. I'm strongly considering just standing up a VM and using "just git" and foregoing any UI, but I make use of other features like CI/CD and Releases for distribution, so the VM strategy is still just a bandaid. When the remote is unavailable, it can be very disruptive.
> If that gets interrupted, then I have resort to things like rsyncing over from the other system
I'm guessing you have SSH access between the two? You could just add it as another remote, via SSH, so you can push/pull directly between the two. This is what I do on my home network to sync configs and other things between various machines and OSes, just do `git remote add other-host git+ssh://user@10.55/~/the-repo-path` or whatever, and you can use it as any remote :)
Bonus tip: you can use local paths as git remote URLs too!
> but more than once I've lost work that way.
Huh, how? If you didn't push it earlier, you could just push it later? Some goes for pull? I don't understand how you could lose anything tracked in git, corruption or what happened?
Usually one of two things, mostly the latter: I forget to exclude all the .git/ directory from the sync, or I have in-progress and nowhere near ready for commit changes on both hosts, and I forget and sync before I check. These are all PEBKAC problems and/or workflow problems, but on a typical day I'll be working in or around a half-dozen repos and it's too easy to forget. The normal git workflow protects from that because uncommitted changes in one can just be rebased easily the next time I'm working in that on any given computer. I've been doing it like this for nearly 20 years and it's never been an issue because remotes were always quite stable/reliable. I really just need to change my worfklow for the new reality, but old habits die hard.
If you can rsync from the other system, and likely have an SSH connection between them, why don't you just add it as an additional remote and git pull from it directly?
If you have ssh access to the remote machine to set up a git remote, you can login to the remote machine and commit the changes that your forgot to commit.
You cannot git push something that is not committed. The solution is to commit often (and do it over ssh if you forget on a remote system). It doesn't need to a presentable commit. That can be cleaned up later. I use `git commit -amwip` all the time.
Sure, you might neglect to add a file to your commit, or commit at all, but that's a problem whether you're pushing to a central public git forge or not.
You'd create a bare git repo (just the contents of .git) on the host with git init --bare, separate from your usual working tree, and set it as a remote for your working trees, to which you can push and pull using ssh or even a path from the same machine.
> Makes it seem like GitHub/Codeberg has to be online for you to be able to code, is that really the case?
I can understand that work with other active contributors, but I agree with you that it is a daft state of affairs for a solo or mostly-solo project.
Though if you have your repo online even away from the big places, it will get hit by the scrapers and you will end up with admin to do because of that, even if it doesn't block your normal workflow because your main remote is not public.
I was shaking my head in disbelief when reading that part too. I mean, git's whole raison d'etre, back when it was introduced, was that you do not need online access to the repo server most of the time.
> git's whole raison d'etre […] was that you do not need online access to the repo server most of the time
Not really. The point of git was to make Linus' job of collating, reviewing, and merging, work from a disparate team of teams much less arduous. It just happens that many of the patterns needed for that also mean making remote temporarily disconnected remote repositories work well.
OP is about Github. Have you seen the Github uptime monitor? It’s at 90% [1] for the last 90 days. I use both Codeberg and Github a lot and Github has, by far, more problems than Codeberg. Sometimes I notice slowdowns on Codeberg, but that’s it.
My own git server has been hit severely by scrapers. They're scraping everything. Commits, comparisons between commits, api calls for files, everything.
And pretty much all of them, ByteDance, OpenAI, AWS, Claude, various I couldn't recognize. I basically just had to block all of them to get reasonable performance for a server running on a mini-pc.
I was going to move to codeberg at some point, but they had downtime when I was considering it, I'd rather deal with that myself then.
Anyone actually scraping git repos would probably just do a 'git clone'. Crawling git hosts is extremely expensive, as git servers have always been inadvertent crawler traps.
They generate a URL for every version of every file on every commit and every branch and tag, and if that wasn't enough, n(n+1)/2 git diffs for every file on every commit it has exited on. Even a relatively small git repo with a few hundred files and commit explodes into millions of URLs in the crawl frontier. Server side many of these are very expensive to generate as well so it's really not a fantastic interaction, crawler and git host.
If you run a web crawler, you need to add git host detection to actively avoid walking into them.
Probably has happened at some point, but personally, I have not been hit with/experienced downtime of Codeberg yet. The other day however GitHub was down again. I have not used Gitlab for a while, and when I used it, it worked fine, and its CI seems saner than Github's to me, but Gitlab is not the most snappy user experience either.
Well, Codeberg doesn't have all the features I did use of Gitlab, but for my own projects I don't really need them either.
How do people even on hacker news of all places conflate git with a code hosting platform all the time? Codeberg, GitHub or whatever are for tracking issues, running CI, hosting builds, and much more.
The idea that you shouldn't need a code hosting platform because git is decentralized is so out of place that it is genuinely puzzling how often it pops up.
They said they want to be able to rely on their git remote.
The people responding are saying "nah, an unreliable remote is fine because you can use other remotes" which doesn't address their problem. If Codeberg is unreliable, then why use it at all? Especially for CI, issues, and collab?
I don't dislike Codeberg inherently, but it's not a "true" GitHub replacement. It can handle a good chunk of GitHub repositories (namely those for well established FOSS projects looking to have everything a proper capital P project has), but if you're just looking for a generic place to put your code projects that aren't necessarily intended for public release and support (ie. random automation scripts, scraps of concepts that never really got off the ground, things not super cleaned up), they're not really for that - private repositories are discouraged according to their FAQ and are very limited (up to 100mb).
They also don't want to host your homepage, so if GitHub Pages is why you used GitHub, they are not a replacement.
Unfortunately I don't think there's really an answer to that conundrum that doesn't involve just spinning up your own git server and accepting all the operational overhead that comes with it. At least Forgejo (software behind Codeberg) is FOSS, so you can do that and it should cover most of what you need (and while you're in the realm of having a server, a Pages-esque replacement is trivial since you're configuring a webserver anyway.) Maybe Gitlab.com, although I am admittedly unfamiliar with how Gitlab's "main" instance has changed over the years wrt features.
> If you do not contribute to free/libre software (or if it is limited to your personal homepage), and we feel like you only abuse Codeberg for storing your commercial projects or media backups, we might get unhappy about that.
Emphasis mine. This isn't about if it's technically possible (it certainly is), it's whether or not it's allowed by their platform policies.
Their page publishing feature seems more like it's meant for projects and organizations rather than individual people. The way it's described here indicates that using them to host your own blog/portfolio/what have you is considered to be abusing their services.
Reading what you quoted, no it is not, as long as you contribute to free software or you have projects that are open source. Not just your personal homepage. If you only have a personal homepage and nothing else that is open source, then they have a problem.
Which makes it not really a suitable replacement for GitHub, which is my entire point.
Keep in mind, I'm not saying Codeberg is bad, but it's terms of use are pretty clear in the sense that they only really want FOSS and anyone who has something other than FOSS better look elsewhere. GitHub allowed you to basically put up anything that's "yours" and the license wasn't really their concern - that isn't the case with Codeberg. It's not about price or anything either; it'd be fine if the offer was "either give us 5$ for the privilege of private repositories or only publish and contribute public FOSS code" - I'm fine paying cash for that if need be.
One of the big draws of GitHub (and what got me to properly learn git) back in the day with GitHub Pages in particular was "I can write an HTML page, do a git push and anyone can see it". Then you throw on top an SSG (GitHub had out of the box support for Jekyll, but back then you could rig Travis CI up for other page generators if you knew what you were doing), and with a bit of technical knowledge, anyone could host a blog without the full on server stack. Codeberg cannot provide that sort of experience with their current terms of service.
Even sourcehut has, from what I can tell, a more lenient approach to what they provide (and the only reason why I wouldn't recommend sourcehut as a GitHub replacement is because git-by-email isn't really workable for most people anymore). They encourage FOSS licensing, but from what I can tell don't force it in their platform policies. (The only thing they openly ban is cryptocurrency related projects, which seems fair because cryptocurrency is pretty much always associated with platform abuse.)
I am really really amazed at how many people discount this alternative because it does not work but do not realize that they are being slaves to Microsoft by using Github. Honestly, I do not get it.
Apparently they have issues with self-hosting and basic git usage so I am not surprised, but yes, so many open source advocates, yet they literally depend on Microsoft, a bit too much.
An overly ideological PoV can make it easy to overlook that some people are simply on Github from a practical standpoint. I myself host Forgejo and moved a lot of stuff there. I don't really find a good reason to host anything on Codeberg, yet. Github still offers me a nice set of repos to find via the people I follow there.
It's not hate, it is that everybody complains about their services and their predatory behavior but somehow Github gets a free pass. As if it were going to be free forever, and well maintained...
I've been using a self-hosted forgejo (which Codeberg uses and maintains) instance for all of my non-work projects and it's been great. I don't miss GitHub at all. I also keep it accessible only from Tailscale so that AI crawlers and such can speedily make their way into the sun.
I have moved to self-host Forgejo a few years ago and I can also highly recommend. It's working great. I have posted a tutorial [1] (verified last month that it still works), and recently moved from Hetzner to 2 Raspberry Pi's for hosting the server and the runner [2]. It's great. Really rock solid. Has been more reliable and faster than GitHub.
I went with gitea, but for the same general reasons. I like It has the option to mirror repos up to GitHub for the stuff I actually want to share with the world. Is there anything that made you choose forgejo specifically? I’m not eager to move platforms, but I know there’s more options that have popped up in the years since I first stood up my gitea instance.
Same. I installed Forgejo two months ago when Github wouldn't let me create agent accounts. It's been awesome. Any time I want a new feature I open my agent on the server and tell it to add the feature to Forgejo. Took all of 15 minutes for it to add a working Show/Hide "Viewed" files on the PR reviews.
Same - also installed a forgejo runner via docker so i've got CI. Forgejo has it's own artifactory/registry so the apps I make get a docker image and I just run that docker image. All on my own hardware.
I think evaluating alternatives to GitHub is going to become increasingly important over the coming years. At the same time, I think these kinds of migrations discount how much GitHub has changed the table stakes/raised the bar for what makes a valuable source forge: it's simply no longer reasonable to BYO CI or accept one that can't natively build for a common set of end-user architectures.
This on its own makes me pretty bearish on community-driven attempts to oust GitHub, even if ideologically I'm aligned with them: the real cost (both financial and in terms of complexity) of user expectations around source forges in 2026 is immense.
I don't understand the hype around CI and that it's supposedly impossible to run something like that without Git, let alone Github. Like sure, a nice interface is fine, but I can do with a simpler one. I don't need a million features, because what is CI (in practice today, not in theory)? It's just a set of commands that run on a remote machine and then the output of those commands is displayed in the browser and it also influences what other commands may or may not run. What exactly is the big deal here? It can probably be built internally if needed and it certainly doesn't need to depend on git so much - git can trigger it via hooks, but that's it?
I think the real problem is we were sold all these complex processes that supposedly deliver better results, while in reality for most people and orgs it's just cargo culting, like with Kubernetes, for example. We can get rid of 90% of them and be just fine. You easily get away without any kind of CI in teams of less than 5-7 people I would argue - just have some sane rules and make everyone follow them (like run unit tests before submitting a PR).
Actions are bad, but they're free (to start) and just good enough that they're useful to set up something quick and dirty, and tempt you to try and scale it for a little while.
CI needs good integration into the source forge. But I don't really perceive Github actions as a huge benefit over the times when everone just set up CircleCI or whatever. As long as it can turn PR checks red, yellow and green and has a link to the logs I'm happy
The whole PR and code review experience is much more important to me. Github is striving to set a high bar, but is also hilariously bad in some ways. Similarly the whole issue system is passable on Github, but doesn't really reach the state of the art of issue systems from 20 years ago
Working with all these modern layers, I don't see why people bother so much about it. This is all upper level decision to centralize so they feel they keep control. As a dev I'm 100% confident life would be as least as pleasant without all this abysmal layers of remote services that could all be replaced with distributed solutions that work 100% in local with thin sync step here and there.
GitHub gives you a lot for "free". In exchange they'll have no problem harvesting your data, and it would really surprise me if they aren't training on private repos too. I guess you can opt out and if they're opt out doesn't work oh well.
On the other hand Codeberg doesn't let you create private repositories at all. So Copilot could still legally scrape your open source Codeberg repos.
I don't see much of a point for most people.
https://docs.codeberg.org/getting-started/faq/
>If you need private repositories for commercial projects (e.g. because you represent a company or are a developer that needs a space to host private freelance projects for your clients), we would highly recommend that you take a look at Forgejo. Forgejo is the Git hosting software that Codeberg runs. It is free software and relatively easy to self-host. Codeberg does not offer private hosting services.
It is kinda incorrect and kinda correct. Codeberg allows you to create private repositories. However, their rules are clear that the intent of private repositories must be in support of Free software projects: https://docs.codeberg.org/getting-started/faq/#how-about-pri..., which for many people is effectively not allowing private repositories.
Why? I want to understand why? Out of principle? I think some services just end up becoming foundational and we need to move on to other things for other things e.g if we're going to replace GitHub it's because we're creating new habits. Not because we're replacing like for like. That never works. What is a new code hosting platform offering. You know what, pair it with some app dev and great, now you've got something. But just hosting elsewhere it's got to be a major step change the way GitHub was from sourceforge and self hosting. Inherently the social aspects drove that and the power of git. Personally I think you have to intertwine the code hosting with app development using agents like a Google doc. Commits everytime there is a change. Every prompt creates a commit. I don't know. We don't need to reinvent the wheel for nothing.
Why does this post exist? I assume because of the Copilot story that's also trending and the subsequent loss of trust. Not sure if Github has serious alternatives, but the desire to move is not for 'nothing'.
Is there a "Moving open source search from GitHub to XYZ, for lazy people"? When I'm looking for solutions to problems that open source might be able to solve, I find the fracturing of code hosting platforms an annoyance.
Can you elaborate what the problem is? IMO hosting and search are quite decoupled, why not just search for "open source solution to problem XYZ" in your favorite search engine?
I've been mostly off the GitHub train since the MS acquisition, and think any alternative is a good alternative. Codeberg is great.
I've also been very happy with sourcehut for most of my personal projects for some time. The email patch submission workflow is a tad bit unfamiliar for most, but IMO in today's era raising that barrier to entry is mostly a good thing for OSS projects.
I also strongly prefer a simple CI environment (where you just run commands), which encourages you to actually be able to run your CI commands locally.
I love the simple design of the page. This is a random observations, but I noticed the author has an interesting "likes" button that is served from an API on https://dddddddddzzzz.org, a curious and interesting looking domain. I'll have to go dig around his blog to see if he's written about this.
> This is a random observations, but I noticed the author has an interesting "likes" button that is served from an API on https://dddddddddzzzz.org, a curious and interesting looking domain. I'll have to go dig around his blog to see if he's written about this
I just noticed this, they dont allow private repos (with few exceptions)
I wonder why they dont just offer unlimited private repos for (reasonably) paid accounts , I think maybe a 40 dollar per year (or 4 dollar monthly), is low and encouraging , and should be welcomed by many , I hope they consider it
Codeberg is a German nonprofit. To keep their tax-advantaged status, anything they do has to follow the purpose established in their bylaws. That purpose is "to promote the creation, collection, distribution and preservation of Free Content (Open Content, Free Cultural Works) and Free and Open Source Software (FOSS) and their documentation in selfless work to enable equal opportunities regarding the access to knowledge and education. Furthermore, this also intends to raise awareness for the social and philosophical questions interconnected with this."
I imagine they would argue that private repositories do not follow this purpose, as they are neither free content nor FOSS. I believe you could argue that charging a modest fee for private repositories to finance the hosting of FOSS repositories is in line with the purpose, but you get on thinner ice with that. It could quickly make them appear more like a company than like a nonprofit
GitHub is free, but the runners are slow and increasingly unreliable.
I use Namespace (https://namespace.so) and I hook it up both to my personal GitHub as well as my personal Forgejo. I’m in the process of moving from the former to the latter!
I didn’t really realize the degree of their slowness, until I migrated one of the projects on a self-hosted gitea and runners. This setup is just breezing! It’s an order of magnitude faster we’re talking about.
Granted, self-hosting git is not feasible for everyone, but GitHub + self hosted runners seems like a very good option.
I've had a good experience with Woodpecker CI. I've heard that installation and integration with ForgeJo isn't easy, but I deploy everything to my homelab using Dokku, where I push a Dockerfile, mount a volume (on setup), and it's good to go.
I assume this isn't optimal for a business setup, but for personal projects, I don't miss GitHub Actions at all.
I was going to say that I’d be happy to run a local Mac mini to be a runner but I noticed that Forgejo runners are only built for Linux.
It seems like to be a serious CI platform they really need to change Windows and Mac binaries for runners so you can build for those platforms.
And this is more of a Forgejo issue than a Codeberg issue specifically.
But also, I’d also throw out there the idea that CI doesn’t have to be at the same website as your source control. It’s nice that GitHub actions are conveniently part of the product but it’s not even really the top CI system out there.
Forgejo is committed to using exclusively Free Software for it's own project development. Windows and Mac versions of the Forgejo Runner are built in the project's CI system as a minimal check to ensure platform compatibility, but due to the project's commitment, the project doesn't do integration testing on these platform. And therefore doesn't distribute untested software.
Does any service offer hosted Forgejo Actions Runners? Or Forgejo compatible CI?
I want to pay for CI on my Codeberg projects, but I've been struggling to find something where I can just pay by the minute. I have projects that benefit from large CI runners but my usage is low enough that it makes no sense to host my own.
I'm running Forgejo for years now and I spend almost no time on it. I just host it with my other services. Backups automatically with Syncthing and I manually check in on the server and run apt-get upgrade once every two weeks.
Repo hosting is the kind of thing that ought to be distributed/federated.
The underlying protocol (git) already has the cryptographic primitives that decouples trust in the commit tree (GPG or SSH signing) with trust in the storage service (i.e. github/codeberg/whatever).
All you need to house centrally is some SSH and/or gpg key server and some means of managing namespaces which would benefit from federation as well.
You'd get the benefits of de-centralisation - no over-reliance on actors like MS or cloudflare. I suppose if enough people fan out to gitlab, bitbucket, self hosting, codeberg, you end up with something that organically approximates a formally decentralised git repo system.
codeberg.org still requires "javascript" aka one of the massive whatng cartel c++ written web engines. Do prefer sourcehut or others which are not web apps, in other words are web sites (classic web, or noscript/basic html for critical core functions at least, like issue tracking).
microsoft carefully broke classic web support overtime, THX AGAIN MICROSOFT, WE LOVE YOU!
I recently ran across codefloe[1] recently in another thread[2], and have been considering it for private non-floss-related repos... haven't tried it out yet though, so mileage may vary.
This was kind of predictable [0] and even self-hosting your own solution was done way before GitHub existed and now has better uptime than them.
Now they are turning GitHub into a canteen for AI agents and their AI chatbots (Copilot, Tay.ai and Zoe) to feed them on your code if you don't opt out.
> The by far nastiest part is CI. GitHub has done an excellent job luring people in with free macOS runners and infinite capacity for public repos
Hosting was never free and if you do not want Codeberg to go the way of GitHub, you need to pay for it.
Otherwise expect GitHub downtime to hit every week or so.
If I just want to host my code, I can self hosted or use an SSH/SFTP server as a git remote, and that's usually what I do.
Most of my friends who use codeberg are staunch cloudflare-opponents, but cloudflare is what keeps Gitlab alive. Fact of life is that they're being attacked non-stop, and need some sort of DDoS filter.
Codeberg has that anubis thing now I guess? But they still have downtime, and the worst thing ever for me as a developer is having the urge to code and not being able to access my remote. That is what murders the impression of a product like codeberg.
Sorry, just being frank. I want all competitors to large monopolies to succeed, but I also want to be able to do my job/passion.
Philosophically I think it's terrible that Cloudflare has become a middleman in a huge and important swath of the internet. As a user, it largely makes my life much worse. It limits my browser, my ability to protect myself via VPNs, etc, and I am just browsing normally, not attacking anything. Pragmatically though, as a webmaster/admin/whatever you want to call it nowadays, Cloudflare is basically a necessity. I've started putting things behind it because if I don't, 99%+ of my traffic is bots, and often bots clearly scanning for vulnerabilities (I run mostly zero PHP sites, yet my traffic logs are often filled with requests like /admin.php and /wp-admin.php and all the wordpress things, and constant crawls from clearly not search engines that download everything and use robots.txt as a guide of what to crawl rather than what not to crawl. I haven't been DDoSed yet, but I've had images and PDFs and things downloaded so many times by these things that it costs me money. For some things where I or my family are the only legitimate users, I can just firewall-cmd all IPs except my own, but even then it's maintenance work I don't want to have to do.
I've tried many of the alternatives, and they often fail even on legitimate usecases. I've been blocked more by the alternatives than I have by Cloudflare, especially that one that does a proof of work. It works about 80% of the time, but that 20% is really, really annoying to the point that when I see that scren pop up I just browse away.
It's really a disheartening state we find ourselves in. I don't think my principles/values have been tested more in the real world than the last few years.
> the worst thing ever for me as a developer is having the urge to code and not being able to access my remote.
Makes it seem like GitHub/Codeberg has to be online for you to be able to code, is that really the case? If so, how does that happen, you only edit code directly in the GitHub web UI or how does one end up in that situation?
I'm guessing you have SSH access between the two? You could just add it as another remote, via SSH, so you can push/pull directly between the two. This is what I do on my home network to sync configs and other things between various machines and OSes, just do `git remote add other-host git+ssh://user@10.55/~/the-repo-path` or whatever, and you can use it as any remote :)
Bonus tip: you can use local paths as git remote URLs too!
> but more than once I've lost work that way.
Huh, how? If you didn't push it earlier, you could just push it later? Some goes for pull? I don't understand how you could lose anything tracked in git, corruption or what happened?
That's what I do. Control your entire world yourself.
Sure, you might neglect to add a file to your commit, or commit at all, but that's a problem whether you're pushing to a central public git forge or not.
For how infrequent I interface with Codeberg I have to say that my experience has been pretty terrible when it comes to availability.
So I guess the answer is: the availability is bad enough that even infrequent interactions with it are a problem.
I can understand that work with other active contributors, but I agree with you that it is a daft state of affairs for a solo or mostly-solo project.
Though if you have your repo online even away from the big places, it will get hit by the scrapers and you will end up with admin to do because of that, even if it doesn't block your normal workflow because your main remote is not public.
Even with the best habits, there will be the few times a month where you forgot to push everything up and you’re blocked from work.
Codeberg needs to meet the highest ability levels for it to be viable.
Not really. The point of git was to make Linus' job of collating, reviewing, and merging, work from a disparate team of teams much less arduous. It just happens that many of the patterns needed for that also mean making remote temporarily disconnected remote repositories work well.
[1] https://mrshu.github.io/github-statuses/
Thank God GitHub is... oh.
https://mrshu.github.io/github-statuses/
And pretty much all of them, ByteDance, OpenAI, AWS, Claude, various I couldn't recognize. I basically just had to block all of them to get reasonable performance for a server running on a mini-pc.
I was going to move to codeberg at some point, but they had downtime when I was considering it, I'd rather deal with that myself then.
They generate a URL for every version of every file on every commit and every branch and tag, and if that wasn't enough, n(n+1)/2 git diffs for every file on every commit it has exited on. Even a relatively small git repo with a few hundred files and commit explodes into millions of URLs in the crawl frontier. Server side many of these are very expensive to generate as well so it's really not a fantastic interaction, crawler and git host.
If you run a web crawler, you need to add git host detection to actively avoid walking into them.
Well, Codeberg doesn't have all the features I did use of Gitlab, but for my own projects I don't really need them either.
The idea that you shouldn't need a code hosting platform because git is decentralized is so out of place that it is genuinely puzzling how often it pops up.
They said they want to be able to rely on their git remote.
The people responding are saying "nah, an unreliable remote is fine because you can use other remotes" which doesn't address their problem. If Codeberg is unreliable, then why use it at all? Especially for CI, issues, and collab?
They also don't want to host your homepage, so if GitHub Pages is why you used GitHub, they are not a replacement.
Unfortunately I don't think there's really an answer to that conundrum that doesn't involve just spinning up your own git server and accepting all the operational overhead that comes with it. At least Forgejo (software behind Codeberg) is FOSS, so you can do that and it should cover most of what you need (and while you're in the realm of having a server, a Pages-esque replacement is trivial since you're configuring a webserver anyway.) Maybe Gitlab.com, although I am admittedly unfamiliar with how Gitlab's "main" instance has changed over the years wrt features.
Here's their FAQ on the matter, it's worth a read: https://docs.codeberg.org/getting-started/faq/
https://docs.codeberg.org/codeberg-pages/
> If you do not contribute to free/libre software (or if it is limited to your personal homepage), and we feel like you only abuse Codeberg for storing your commercial projects or media backups, we might get unhappy about that.
Emphasis mine. This isn't about if it's technically possible (it certainly is), it's whether or not it's allowed by their platform policies.
Their page publishing feature seems more like it's meant for projects and organizations rather than individual people. The way it's described here indicates that using them to host your own blog/portfolio/what have you is considered to be abusing their services.
My 2 cents.
Keep in mind, I'm not saying Codeberg is bad, but it's terms of use are pretty clear in the sense that they only really want FOSS and anyone who has something other than FOSS better look elsewhere. GitHub allowed you to basically put up anything that's "yours" and the license wasn't really their concern - that isn't the case with Codeberg. It's not about price or anything either; it'd be fine if the offer was "either give us 5$ for the privilege of private repositories or only publish and contribute public FOSS code" - I'm fine paying cash for that if need be.
One of the big draws of GitHub (and what got me to properly learn git) back in the day with GitHub Pages in particular was "I can write an HTML page, do a git push and anyone can see it". Then you throw on top an SSG (GitHub had out of the box support for Jekyll, but back then you could rig Travis CI up for other page generators if you knew what you were doing), and with a bit of technical knowledge, anyone could host a blog without the full on server stack. Codeberg cannot provide that sort of experience with their current terms of service.
Even sourcehut has, from what I can tell, a more lenient approach to what they provide (and the only reason why I wouldn't recommend sourcehut as a GitHub replacement is because git-by-email isn't really workable for most people anymore). They encourage FOSS licensing, but from what I can tell don't force it in their platform policies. (The only thing they openly ban is cryptocurrency related projects, which seems fair because cryptocurrency is pretty much always associated with platform abuse.)
An overly ideological PoV can make it easy to overlook that some people are simply on Github from a practical standpoint. I myself host Forgejo and moved a lot of stuff there. I don't really find a good reason to host anything on Codeberg, yet. Github still offers me a nice set of repos to find via the people I follow there.
[1]: https://huijzer.xyz/posts/55/installing-forgejo-with-a-separ...
[2]: https://huijzer.xyz/posts/55/installing-forgejo-with-a-separ...
This on its own makes me pretty bearish on community-driven attempts to oust GitHub, even if ideologically I'm aligned with them: the real cost (both financial and in terms of complexity) of user expectations around source forges in 2026 is immense.
I think the real problem is we were sold all these complex processes that supposedly deliver better results, while in reality for most people and orgs it's just cargo culting, like with Kubernetes, for example. We can get rid of 90% of them and be just fine. You easily get away without any kind of CI in teams of less than 5-7 people I would argue - just have some sane rules and make everyone follow them (like run unit tests before submitting a PR).
Why? I know plenty of teams which are fine with repo and CI being separate tools as long as there is integration between the 2.
The whole PR and code review experience is much more important to me. Github is striving to set a high bar, but is also hilariously bad in some ways. Similarly the whole issue system is passable on Github, but doesn't really reach the state of the art of issue systems from 20 years ago
On the other hand Codeberg doesn't let you create private repositories at all. So Copilot could still legally scrape your open source Codeberg repos.
I don't see much of a point for most people. https://docs.codeberg.org/getting-started/faq/ >If you need private repositories for commercial projects (e.g. because you represent a company or are a developer that needs a space to host private freelance projects for your clients), we would highly recommend that you take a look at Forgejo. Forgejo is the Git hosting software that Codeberg runs. It is free software and relatively easy to self-host. Codeberg does not offer private hosting services.
are you sure about that? I'm fairly certain my repos on codeberg are all private but I could be mistaken.
For me its providing uptime. Github is barely reaching one nine of availability these days.
I've also been very happy with sourcehut for most of my personal projects for some time. The email patch submission workflow is a tad bit unfamiliar for most, but IMO in today's era raising that barrier to entry is mostly a good thing for OSS projects.
I also strongly prefer a simple CI environment (where you just run commands), which encourages you to actually be able to run your CI commands locally.
Here you go: https://openheart.fyi
This is the only reason I haven’t migrated yet (I keep a mirror[1]).
1 - https://codeberg.org/willtobyte/carimbo
It is a single binary and I think it is also very light on resources. At least compared to gitlab.
I wonder why they dont just offer unlimited private repos for (reasonably) paid accounts , I think maybe a 40 dollar per year (or 4 dollar monthly), is low and encouraging , and should be welcomed by many , I hope they consider it
I imagine they would argue that private repositories do not follow this purpose, as they are neither free content nor FOSS. I believe you could argue that charging a modest fee for private repositories to finance the hosting of FOSS repositories is in line with the purpose, but you get on thinner ice with that. It could quickly make them appear more like a company than like a nonprofit
Yup and this is where I pass on anything other than GitHub.
I use Namespace (https://namespace.so) and I hook it up both to my personal GitHub as well as my personal Forgejo. I’m in the process of moving from the former to the latter!
Granted, self-hosting git is not feasible for everyone, but GitHub + self hosted runners seems like a very good option.
I assume this isn't optimal for a business setup, but for personal projects, I don't miss GitHub Actions at all.
It seems like to be a serious CI platform they really need to change Windows and Mac binaries for runners so you can build for those platforms.
And this is more of a Forgejo issue than a Codeberg issue specifically.
But also, I’d also throw out there the idea that CI doesn’t have to be at the same website as your source control. It’s nice that GitHub actions are conveniently part of the product but it’s not even really the top CI system out there.
A contributor maintains a tested re-release of Forgejo Runner for Windows: https://github.com/Crown0815/Forgejo-runner-windows-builder
But, pull it down and build it, and it will work.
I want to pay for CI on my Codeberg projects, but I've been struggling to find something where I can just pay by the minute. I have projects that benefit from large CI runners but my usage is low enough that it makes no sense to host my own.
Also radicle.xyz
I really wish there was a way to support with them a smaller amount then €24. I dont use codeberg myself but I really want to support them.
Wire transfer is €10
Stripe is €5
With PayPal you can send €0.01 if you want
Or Liberapay, as little as €0.01 per week
The underlying protocol (git) already has the cryptographic primitives that decouples trust in the commit tree (GPG or SSH signing) with trust in the storage service (i.e. github/codeberg/whatever).
All you need to house centrally is some SSH and/or gpg key server and some means of managing namespaces which would benefit from federation as well.
You'd get the benefits of de-centralisation - no over-reliance on actors like MS or cloudflare. I suppose if enough people fan out to gitlab, bitbucket, self hosting, codeberg, you end up with something that organically approximates a formally decentralised git repo system.
microsoft carefully broke classic web support overtime, THX AGAIN MICROSOFT, WE LOVE YOU!
[1]: https://codefloe.com/
[2]: https://news.ycombinator.com/item?id=47487436
Now they are turning GitHub into a canteen for AI agents and their AI chatbots (Copilot, Tay.ai and Zoe) to feed them on your code if you don't opt out.
> The by far nastiest part is CI. GitHub has done an excellent job luring people in with free macOS runners and infinite capacity for public repos
Hosting was never free and if you do not want Codeberg to go the way of GitHub, you need to pay for it.
Otherwise expect GitHub downtime to hit every week or so.
[0] https://news.ycombinator.com/item?id=22867803