In this post I want to share my personal experience with the Gitea project. If you don't know Gitea in a self-hosted alternative to Github.
I've always liked the idea of owning my own stuff, for this reason I had already played a bit with a private Gitlab installation. However this Gitlab episode left me with some really deep scars. Of course, most of the problems I faced were only my own fault... Who would've though that installing Gitlab on a server with only 512Mb of RAM was a bad idea? Not my younger self, that's for sure. In my defence, at the time the minimum was only 2Gb.
Given my previous experience I was really hopeful: "At least it can't be worse than Gitlab" I though to myself. And for once I was right. What I couldn't anticipate was how good Gitea was.
Before we continue I want to make a few points about the things I would have to consider before deciding for or against Gitea. First, I want something I can run with much less than 512Mb of RAM. This is because I plan to run the service inside an US$5 instance on Linode that I already have for other projects; Second, I want something that once properly configured, works without any kind of intervention; Lastly I already had a great amount of headache with Django installations, so something easy to install would be a really nice bonus.
At a first glance I saw in theirs website "Easy to install" and "Lightweight". That was enough to make me install it in my server. Installation was a breeze. Just download the binary, copy a sample config file and run the binary. After that I just needed to make some small tweaks in my configuration file, create an appropriate location to hold my data and create a systemd unit file. This setup was made way back in 2017 and it just works.
I am aware that part of my good experience stems from me no pushing the software hard enough. My use is really light, I mostly use it as a backup for source code that I don't want to put on Github.
Having said all that, if you want something that is stable, easy to configure and can be deployed to basically anything; I really think you should give Gitea a chance. After almost 2 years my only real complain is their name, because I am still unable to properly pronounce it...
PS: Just to be clear, I don't think that Gitlab is a bad piece of software. It just wasn't made for my use case. It was made to compete with Github inside big corporations with complex needs and in this environment I do think that Gitlab is a big feat of engineering. The problem was that I took something made for the enterprise and tried to use it at home.