As some people already have heard and know, Github was purchased by Microsoft. This has caused a backlash with various open source projects, especially ones that compete with services offered by Microsoft. Many of these projects have left Github in search of greener pastures. One of the major players that has seen increased import traffic is Gitlab with over 10 times the amount of repository traffic since the news had been announced.
Gitlab offers 2 types of services, they have a public hub which is gitlab.com and anyone can register and use it. They also offer the ability to download and install your own gitlab on your own server. The only downside is that Gitlab is very resource heavy, so using it on your own server is not always possible if your server isn’t beefy enough.
This is where Gitea comes in, it is a Github like service that you can host on your own server, but has a very small footprint. Gitea works on Linux, Mac, and Windows and can even run on Raspbery Pi and other small devices that use the arm architecture. Artix Linux took the decision to move to a private Gitea server at https://gitea.artixlinux.org recently which made me decide to play around with it to see what it is all about.
Installation is pretty straightforward. Just download the binary, rename it to “gitea” and run:
$ ./gitea web
Now all you need to do is open up a web browser and head to http://localhost:3000 and you will be presented with an install page. Configuration is pretty simple, just fill in the URL of the install, port to use, database details, and a couple extras. The server can also act as a basic ssh server to handle git over ssh if you don’t already have a running ssh server.
If you didn’t create an admin user during the install, the first user created will be granted admin access. After that, you are all set to use your own privately hosted git platform. Feel free to check out my own installation at https://git.cromer.cl which will be used for all of my programming projects.
The footprint of Gitea is very small. Right now Artix Linux has about 1500 git repos and has integration with the Jenkins CI and only uses around 50MB of memory on average, but they do recommend 1GB of memory to handle a standard team of users. Meanwhile a Gitlab instance requires a minimum of 4GB of memory to be able to run with up to 100 users, and they claim that it will be slow with that amount of RAM.