Hacker News new | past | comments | ask | show | jobs | submit login
Set up your private Git hosting with Gogs (obahua.com)
76 points by joe2010xtmf on Apr 21, 2014 | hide | past | favorite | 37 comments

Noticed the release notes mention a forced password reset for all users because of a hash change.

Couldn't that be avoided by storing the hash type/version, and silently upgrade on the next successful login (when the password is available briefly in plaintext in the login request)?

This is what Django does. Works very well.

I'm probably an awful person, but I laughed out loud when I saw this config key: DISENABLE_REGISTERATION

You can become a slightly better person by changing the line and making a pull request.

It's obvious that he is not a native speaker. Neither am I of course :-)

Right you are, pull request complete!


Great to see this quick conversion from simple criticism to actual contribution!

Congrats on the positive influence and the step forward.

Good for you! Though I wonder how much pain it would take to make it ENABLE_REGISTRATION ...

awesome :-)

This sounds like something from Spaceteam: http://www.sleepingbeastgames.com/spaceteam/

Besides the ease of installation, the thing that most impresses me is the very low resource usage and amazing responsiveness on even a tiny VPS.

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM% TIME+  Command
  31378 smw        20   0  262M 11516  5712 S  0.0  0.6 0:00.00 ./gogs web
11 MB of RSS? Quoting user 'pas' in an earlier comment, Gitlab wants about 2GB.

I have no idea how well it scales to a large user base, but I feel like this is going to become the go to option for side projects where you just want to share some private code with a friend or two.

How many repos do you have ? I don't expect gogs to come even close to what gitlab requires but I'd love to see some numbers.

15300 git 20 0 898m 36m 5280 S 0.0 3.7 3:48.61 gogs

Data from try.gogits.org, Gogs database has 78 users, 41 repositories

If you insert three or more spaces at the left column of your submitted text, the columns will line up when the post is displayed in the HN interface, and you can have rows directly beneath each other with no intervening linefeed.

Gitlab is an option as well.

I found the README in their Github repo has additional info: https://github.com/gogits/gogs

It seems like they intend to manipulate git entirely from Go. Interesting stuff!

Serious question about Gitlab and something that has always scared me away: How does it perform on a resource-constrained system? A lot of the hardware requirements[1] are presented in terms of <x> users, but the "minimum" RAM requirement seems really high. If I wanted to use this with a small team (~20 users) in a resource constrained environment it seems like it'd be way overkill.

[1]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst...

Good point, I've just changed the RAM requirement since it was a bit outdated, see https://gitlab.com/gitlab-org/gitlab-ce/commit/01799721dc6cb... for the change and new version on https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst...

The ram usage is very high for an application of this type, if you compare it to something like Indefero [1]. The minimum requirements on the page you linked seem correct.

[1]: http://projects.ceondo.com/p/indefero/

It needs disk space mostly, and you can run it with 2G RAM, so that's 20 USD/month on a VPS with SSDs with 40G space.

If that's still not cheap enough, then you can of course use it on a non-SSD VPS, configure it to use fewer Ruby worker processes and so on.

The only problem I (we) have with GitLab, is that it doesn't cache git trees, so it always fires off a git process to read the repository. (At least when this came up they wasn't open to caching it in Redis. Maybe this changed, or maybe it's available in their Enterprise offering...)

Given the code churn for this project, it looks like they are working on this full-time.

Weekly Churn


Monthly Churn


GitBlit is also a good option: http://gitblit.com/

Second this. I use GitBlit with my team. It is a very good fit for Java teams new to git who can't let code out if the firewall especially if most of the admins are strong in Windows; specifically I mean it is good for small teams in big corps.

Somewhat off-topic, but I notice they are using xorm as their golang ORM. Anyone have experience with this? I use gorm, and I wonder how xorm compares.

Complicate deployment is one of the major reason for me to stay away from using Self-hosted Git Server for my small team.

This one looks really interesting and promising. Being open source project is another major bonus.

Take a look @ GitBlit (http://www.gitblit.com/) It can run with only a dependency on JRE 1.6 or better.

And Gogs will run with no dependencies... https://github.com/gogits/gogs#purpose

On Debian-based systems you can install the gitolite package (from the repo) and then run: sudo dpkg-reconfigure gitolite. You can then start pushing and pulling.

Looks much easier to deploy than Gitlab.

I was actually just thinking about how this clone would make a good blog post pointing out the pain that hovers around many substantial ruby/rails projects versus other tool sets. To be able to download the binary and just run a web app ... amazing. Considering the last time I tried to run Gitlab all kinds of libraries didn't install properly and workers wouldn't come up when they were supposed to.

Rails apps are indeed a pain to install, that is why we made packages https://www.gitlab.com/downloads/ with Omnibus, we don't have a blog post about it but there is a video discussion https://www.youtube.com/watch?v=XTmpKudd-Oo

I just updated gitlab from 6.0 to 6.7 at work this weekend. That it does indeed.

Which reminds me I have to submit patches to their init script.

Rails is OK, but damn is it a bit of a time suck.

Sorry to hear the init script is giving you problems. We look forward to your merge request.

Its nothing big but basically amounts to adjusting how the source logic and defaults fits. The existing setup is a bit wonky and doesn't work in non bash very well.

That and I have been hacking the init script to not always use sudo. I generally prefer that root not use sudo, and where I work that bits enforced heavily. So there is a bit of logic there as well to allow for sudo as root or not.

Hopefully I get to it today but if not its not a big deal really.

Onthe up side there are docker containers you can just deploy with gitlab. Testing went ok but I've not got the chance to use it really.

I've recently installed cgit. I'm really happy with it's simplicity and easy of use.

I like it, but the blatant copy of the Github design makes me wonder: could one run a public Gogs instance ?

Anyway, that's a really slick work. Once again Go shines and make that project super easy to install.

To be honest, I would say that Gitlab is more of a copy of Github than this project, and so far I haven't seen any problem with Gitlab.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact