Static site generator + my presonnal website written in rust for some reason.
1--- 2title: Tangled 3date: 2025-03-17 4--- 5 6# Personal git forges 7 8In pursuit of federation for git forges, few attempts are being made. 9 10Until recently the main one being [Forgejo](https://forgejo.org/), with utilization of ActivityPub, the driving force behind Mastodon, Pleroma, and the like, as communication protocol. 11 12## how Personal 13 14Forgejo is a community maintained fork of Gitea, and for good reason and with good effect. It allowed them to while maintaining some compatibility, but also go into a radically different direction then Gitea could. 15 16A consequence of being a fork of Gitea is well, at core being a git forge designed for communities and not individuals. 17 18Not in a *usage* sense, but in **operations** sense. 19 20## say what 21 22Frogejo my beloved, always will be. Its delightful to work with, its easy to host and run, its dead easy to update (don't forget breaking config changes), action runners are easy to setup and use, and the whole thing is easy to manage. 23 24That all however comes at a cost of a whole-ass web-server running all the time, with a postgres db running in the background where your repositories are actually kept. 25 26At scale its well, the best case scenario. But we aren't talking about the best case scenario we are talking about 1 (one) idiot (big one) running it for personal projects. 27 28And that's a lot of overhead for what can be a bare git repo on a server running git-daemon. 29 30Its not useless overhead, but having a whole gig of memory on my poor 2 gig VPS taken up by a git forge I don't use even a 3rd of services of is a bit too much. (also cant federate just yet). 31 32 33 34# Alternatives? 35 36[git-send-mail](https://git-scm.com/docs/git-send-email), the most federalized mode of collaboration in the world, used to work on the Linux kernel, arguably? largest community project right now. 37 38It is flexible, infinitely customizable for both you the user and the recipient, and requires no account other then a single (1) email address I hope everyone has. 39But like IRC chatrooms, it is realistically used by far not all even amongst developers, and is more or less inaccessible to people new to the whole git thing. 40 41[Radicle](https://radicle.xyz/), fully P2P, custom communication protocol, similar system that all nodes are viewable from the central website, but there is no central authority for what the repo state is, it is local first. 42Really interesting, **written in rust**, and will get a good amount of attention from me because well it's pretty cool. To collaborate in the network, like with the Tor network, from which it drew heavy inspiration as I understand (again, really cool), 43one has to run their own node. Which isn't ideal always for, same issues as before, beginners (although getting to understand such things one could argue is a worthy and formative trial by fire, and should be done). 44 45[Tangled](https://tangled.sh) The topic of today 46 47 48# [Tangled](https://tangled.sh) 49 50A very new and currently in development git forge based on the AT Protocol, used by Bluesky. 51 52I will let them make [their own case](https://blog.tangled.sh/intro), in a rather short and sweet introduction. 53 54With the long story short being as such. 55 56To collaborate, one requires a Bluesky account. More precisely an account in the AT Protocol network, but I digress. 57Repositories are hosted on **knots**, headless servers that behave very much like git-daemons, with repositories being hosted in bare repos. 58 59There is a central knot managed by the tangled team, `knot.tangled.sh`, on which anyone can make a repo, or if you are authorized with other knots, hosted by anyone, you can author repos there. 60 61All of that, can be viewed on centrally in the appview hosted by tangled.sh team at, you guessed it, [tangled.sh](https://tangled.sh). 62(in theory there can be other appview, the same way as there are alternative clients for bsky.app, there could be alternative appviews for tangled, with the same underlying content). 63 64So, account creation is not complex, hosting your own nodes is not a requirement, it is linked to a social network, which could be argued to be excessive, but you can create alternative accounts if you don't want your code to be associated with your public activity (or the other way around). 65 66 67And, while Forgejo is indeed lightweight and performant, very few things can compete with 68``` 69* knotserver.service - tangled knot server 70 Loaded: loaded (/etc/systemd/system/knotserver.service; enabled; preset: enabled) 71 Active: active (running) since Fri 2025-03-14 02:44:33 UTC; 3 days ago 72 Main PID: [you thought] (knotserver) 73 Tasks: 7 (limit: 2424) 74 Memory: 50.9M 75 CPU: 32.406s 76 CGroup: /system.slice/knotserver.service 77 - [nuh-uh] /usr/local/bin/knotserver 78``` 79 80Ah yes, 50.9M of memory used. 81Much better. 82 83Anyway gotta get now `git.technoduck.me` to redirect to my git profile on tangled, which should be [https://tangled.sh/@technoduck.me](https://tangled.sh/@technoduck.me). 84 85Or fully remove, I have not decided yet. 86 87 88Anyway, that's it. 89 90Go on collaborooting or something.