Free alternatives to GitHub and GitLab

Ever wondered if there are free or maybe open source alternatives to two of the most popular code management tools like GitHub and GitLab there? Yes there are and it does the job pretty well with less resources too. I am going show you some free alternatives to GitHub and GitLab in this article.

GitLab has a CE version with limited features but it is still resource hungry and a complicated software compare to the ones I am going to talk about.

Did I miss Bitbucket? No I did not. It’s just that I haven’t use it that much. It is one of that league though.

So let’s get started.

Please note, all the tools mentioned here can be self hosted.

1- Gitea

Gitea is an official fork of Gogs written mainly in Go language and was created by the same contributors who sent pull requests to Gogs. The short story is that their idea was to have a community based software where the other users has it’s say. So they forked Gogs few years back and never looked back. It is at this moment one of the best web tool for git with hundreds of features including CI integration.

The best part of Gitea is that there are many contributors who contribute to it in their free time and push forward this awesome application.

There are also some hosted solutions available namely Codeberg.org and gitea.com for users to create free accounts.

gitea-issue-page

Features

  • User/Issues/Pull request dashboard
  • Repositories
  • Explore page
  • Notifications (email and web)
  • CSRF and XSS protection
  • Projects (Kanban)
  • Support for MySQL, PostgreSQL, SQLite, MSSQL, TiDB
  • Multi-language support
  • Reverse proxy support
  • Package Registries

Check the whole feature list page here.

There are also few native mobile apps available and one of them is GitNex.

Disclaimer: I have started this project (GitNex).

The easiest installation method is to download the binary and just run it. Check the documentation for installation.

2- Gogs

Gogs is original project which leads to the creation of Gitea at later stage. It is created by GitHub user unknwon (Joe Chen). Gogs is also a famous project and you can see that from it’s GitHub stars. The only thing you will find is the development is slow and features gets added at slow rate compare to Gitea.

As it suggests “a painless self-hosted Git service“, and it really means it. The setup and installation is a breeze.

Features

  • User dashboard, user profile
  • User, organization and repository management
  • Webhooks
  • Git hooks
  • Jupyter Notebook and PDF rendering
  • Support PostgreSQL, MySQL, SQLite3 and TiDB
  • Localization over 31 languages
  • Web editor
  • Authentication via SMTP, LDAP etc
  • Custom templates

More features can be found here.

3- OneDev

OneDev is different and you can see that from their approach. It is all-in-one devops solution with in-house CI/CD and default kanban board for tickets management.

The layout and UI is different compare to other mainstream tools in this field. And to be honest it is quite refreshing in a good way. It’s clean and easy to use.

onedev-interface

Features

  • Out-of-box symbol search
  • Code search with regular expression
  • Annotate source/diff with static analysis
  • Customizable Issue state and field
  • Service desk to create/discuss Issues via email
  • Query language
  • A full-fledge CI/CD engine
  • Flexible Pull request review policy
  • Lightweight review without Pull request
  • Smart Markdown editor

Complete feature list can be found here.


Here are some more useful mentions which can be used too based on one’s requirements.

  1. GitList
  2. cgit
  3. ungit
  4. Pagure
  5. sourcehut