Gogs: A self hosted GitHub alternative on a diet

21 August 2015 on OpenSource, Linux, Cloud, and Self-Hosted. 10 minutes Beginner

In walks Gogs, a seriously streamlined platform for all of your revision control needs.

Now, don’t get me wrong, GitLab, GitHub Enterprise and the Monopoly know as Atlassian have there own each established market sectors. You are not going to get every single feature of a multi thousand dollar licensed product. There are a few, almost hilariously missing pieces that makes Gogs unusable by any of not all team based development operations. Those two things are Pull Requests and any type of Code Review. However, as a single developer wanting a place to store my code that I’d never, ever want to see the light of day on GitHub. It’s a seriously great middle ground between Enterprise and Hobby. It also came to a surprise because for such an advanced looking product, they seem to have shown up over night. With just over 70 Pages of commits on GitHub starting in March of 2014, they have managed to create an amazing product that runs rather well, and has the added benefit of being written in GO. There is good news regarding the two blatant issues that prevent Gogs from becoming anything usable in this market, and thats Gitea. Disclaimer I have not extensively tested Gitea but it is at its core a fork of Gogs

All your basic GitHub-esk functionality exists, you can create repos, both public and private, there’s an issue tracker for each repo and of course SSH based access for secure commits and pulls.

Keep your eyes pealed for my post about getting it installed, but in all honesty it’s so simple to install that a dedicated post is over kill! Not to mention, if you use one of their Docker configs or VagrantFiles you’ll be up and running in a matter of seconds.

# Pull image from Docker Hub.
$ docker pull gogs/gogs

# Create local directory for volume.
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

# Use `docker start` if you have stopped it.
$ docker start gogs

That’s it, 4 lines and you have your own GitHub. A more in-depth installation guide will be showing up soon, but for now you can head over to Gogs themselves and go thought their documentation


Next

Mail In a Box: Keeping the NSA out of your base since 2013

Since before it was widely known that the internet wasn't as secure as we hoped, I've been one to run applications in my own environment instead of taking advantage of the commercialized products easily available. Sometimes it's simply for the sheer amount of control, and others it's because I don't want my Drunk Spending on Amazon to be tied to my email accounts. It's not always the best thing that Google and Amazon can now predict the exact days and times I'll be most inebriated and offer me 'Great deals'