Gitlab replacement in Go – gogs
In my past job and for my own scripts I used gitlab as repository. Most of the time it was running fine and the functionalities are also ok. But from time to time I faced problems in updating gitlab from the repository (on Ubuntu). The process to reconfigure gitlab was failing often due to issues with postgresql.
Therefore I started to search for an alternative to gitlab. I prefer to run my own server therefore github is out of scope. A short google search pointed to Gogs.io a git repository server written in GO.
Features (Source: Github gogs)
* Activity timeline
* SSH and HTTP/HTTPS protocols
* SMTP/LDAP/Reverse proxy authentication
* Reverse proxy with sub-path
* Account/Organization/Repository management
* Add/Remove repository collaborators
* Repository/Organization webhooks (including Slack)
* Repository Git hooks/deploy keys
* Repository issues, pull requests and wiki
* Migrate and mirror repository and its wiki
* Web editor for repository files and wiki
* Gravatar and Federated avatar with custom source
* Mail service
* Administration panel
* Supports MySQL, PostgreSQL, SQLite3 and TiDB (experimental)
* Multi-language support (22 languages)
I have installed it on my Raspberry PI 2 as a PoC and I have to say I’m impressed of the performance and simplicity compare to Gitlab. In my next post I will write a small how to setup Gogs on Ubuntu.