175 points dhruv3006 2 hours ago 122 comments
melezhik 2 hours ago | parent
- 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
dawn3727 2 hours ago | parent
teekert 2 hours ago | parent
arccy 2 hours ago | parent
techknowlogick 55 minutes ago | parent
disclaimer: I'm one of the project leads of Gitea
ashton314 2 hours ago | parent
notpushkin 1 hour ago | parent
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/
bdlowery 1 hour ago | parent
notpushkin 1 hour ago | parent
cxr 13 minutes ago | parent
What you can't do is "share projects that mostly consist of code written by 'generative AI'-tools". <https://codeberg.org/Codeberg/org/commit/71149c7fc95ccfeae36...>
quaintdev 2 hours ago | parent
ch71r22 50 minutes ago | parent
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
radicalriddler 16 minutes ago | parent
izolate 39 minutes ago | parent
polycaster 2 hours ago | parent
bobkb 1 hour ago | parent
Arrowmaster 1 hour ago | parent
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.
Valodim 1 hour ago | parent
Arrowmaster 1 hour ago | parent
esafak 1 hour ago | parent
dreamcompiler 1 hour ago | parent
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.
vinnymac 1 hour ago | parent
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.
cobertos 1 hour ago | parent
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/#...
dboreham 1 hour ago | parent
bogwog 1 hour ago | parent
td-andrew 1 hour ago | parent
Self host both of them on my internal network. Technically old version of gitea which is forgejo pre-fork
lejeanvaljean 1 hour ago | parent
yogsototh 2 hours ago | parent
[#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).
mariocesar 2 hours ago | parent
A big plus is that it also has an open-source Community Edition that you can self-host
ktm5j 1 hour ago | parent
arsenkk 1 hour ago | parent
enriquto 1 hour ago | parent
[0] sr.ht
[1] codeberg.org
petcat 1 hour ago | parent
enriquto 1 hour ago | parent
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?"
anticensor 1 hour ago | parent
HeadOfProbing 1 hour ago | parent
CodeAndCuffs 1 hour ago | parent
jdub 1 hour ago | parent
woodrowbarlow 1 hour ago | parent
techknowlogick 53 minutes ago | parent
beanjuiceII 1 hour ago | parent
artooro 1 hour ago | parent
n4pw01f 1 hour ago | parent
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)
BaudouinVH 1 hour ago | parent
vehemenz 1 hour ago | parent
jtokoph 1 hour ago | parent
herpdyderp 1 hour ago | parent
epiccoleman 1 hour ago | parent
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.
Helmut10001 1 hour ago | parent
sneak 1 hour ago | parent
ChrisArchitect 1 hour ago | parent
GitHub has alternatives, but no replacement
https://news.ycombinator.com/item?id=49135365
Why developers are ditching GitHub for Codeberg and self-hosting alternatives
BaudouinVH 1 hour ago | parent
beoutdoors 1 hour ago | parent
plqbfbv 1 hour ago | parent
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.
codexb 1 hour ago | parent
inanothertime 1 hour ago | parent
wongarsu 52 minutes ago | parent
inanothertime 46 minutes ago | parent
(Sorry for posting this twice, but we'd really love to get more user feedback)
rvz 1 hour ago | parent
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].
madebywelch 1 hour ago | parent
cautiouscat 1 hour ago | parent
I self host Lore for my gamedev projects.
bfrog 1 hour ago | parent
iamnothere 13 minutes ago | parent
With Radicle you can continue to work locally with all issues etc intact, even if your “main” host is down. You can also sync through other hosts in the network.
ukd1 1 hour ago | parent
techknowlogick 59 minutes ago | parent
henryfjordan 13 minutes ago | parent
Pxtl 1 hour ago | parent
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?
dboreham 1 hour ago | parent
Pxtl 1 hour ago | parent
Also, unified dashboards/notifications are so useful (even though Github's notification UI is a bit mediocre, imho).
techknowlogick 45 minutes ago | parent
gritzko 1 hour ago | parent
anon7000 46 minutes ago | parent
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.
rsyring 5 minutes ago | parent
It's beyond me how people on HN can be ignorant to why GitHub gained so much market share. It's because for most dev teams, the things they add to the distributed parts is *very valuable.* Arguing it's not valuable or ignoring that value doesn't help anyone.
If decentralized is really going to win, then you have to have the features and DevX to match the basics GitHub provides. Because that's what people need/want. And not just the candy ass not as good as the kernel devs devs. Lots of very talented people and very well engineered projects use GitHub because it's better for that they need. Even with all the outages, people are still there. If it was so easy to move away, people would. The fact that they aren't says something important. Please consider not ignoring it.
slackfan 1 hour ago | parent
axegon_ 1 hour ago | parent
In addition I spun up forgejo at a server at home for very critical stuff and it's awesome.
bogwog 1 hour ago | parent
axegon_ 1 hour ago | parent
Anon1096 1 hour ago | parent
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_ 53 minutes ago | parent
sssilver 1 hour ago | parent
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.
rwl 51 minutes ago | parent
sssilver 44 minutes ago | parent
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.
zhynn 5 minutes ago | parent
1. batteries included single-file functionality (fossil binary + sqlite file and I have everything!) 2. Hosting them is super easy, I have a lighttpd server configured to do cgi-bin, and i just pop the project.fossil file onto the server and I have a project.
The biggest friction is managing users across repos. Each repo is its own RBAC, the "zhynn" user in one repo is not the same as the "zhynn" user in another repo. It would be cool to be able to sync users across repos, which should be possible with sql, but I think that it could get weird with repo-specific permissions. Currently I just add my user to each new repo, granting that user setup permissions, and removing the admin before I scp the .fossil file up to the webserver.
In the end though, and I intend to use it for all of my personal projects from here out.
I have a pipe dream of turning a fossil repo into a portable distributed more-async-friendly slack clone, where the "chat", "wiki" and "forum" functionalities are all used as the back-end for a responsive UI that basically does the same thing that slack does, but lives in a single sqlite file + binary. It could run mostly offline in a kind of scuttlebutt/limited connectivity pattern (when online push/pull messages, get latest chats/files/etc, go back offline. As you go through the content, make your responses locally, then go back online, push/pull again, repeat.)
paularmstrong 39 minutes ago | parent
wejick 1 hour ago | parent
For me it's action and PR history.
ryuuseijin 1 hour ago | parent
jm4 1 hour ago | parent
melezhik 47 minutes ago | parent
rambojohnson 1 hour ago | parent
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.
dreamcompiler 58 minutes ago | parent
ivan_gammel 1 hour ago | parent
bdlowery 1 hour ago | parent
timetraveller26 51 minutes ago | parent
bigstrat2003 40 minutes ago | parent
lluisantoni 37 minutes ago | parent
thangalin 36 minutes ago | parent
I self-host using my own read-only, FOSS, pure PHP Git repository reader for personal projects.
fosterfriends 28 minutes ago | parent
icy 23 minutes ago | parent
Happy to answer any questions.
silverlinex 4 minutes ago | parent
dxbhack 18 minutes ago | parent
AtlasBarfed 5 minutes ago | parent