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.