
Gogs, an alternative to Gitlab - apertoire
http://www.apertoire.net/gogs-an-alternative-to-gitlab/
======
gkoberger
I love OSS, however I hate this argument:

"You could certainly purchase access to private Github repositories, but most
certainly you’d rather want to invest your capital in more pressing matters."

That's their #1 reason? GitHub is, like, $7. If that saves you 10 minutes of
having to maintain your own servers? Completely seems worth it to me. Or,
GitLab or BitBucket have free private repos.

My argument is this: your time is the most important thing you have, and you
shouldn't be wasting your time on maintaining your own source control servers.

~~~
hashtree
I really wish GitHub only counted private repos that have more than one
collaborator. If you are like me and have dozens and dozens of smaller repos
that only you yourself work on, it makes the GitHub model a non-starter (and
I'd love to be GitHub only, rather hosting my own server or using bitbucket).

~~~
Ygg2
How would Github differentiate between you and another collaborator that uses
your logon details?

~~~
ocdtrekkie
Good point "here's our Github account" would become a common solution for free
private repos.

------
sytse
Hi, GitLab CEO here. Installing GitLab should take only 2 minutes with the
Omnibus packages available on
[https://about.gitlab.com/downloads/](https://about.gitlab.com/downloads/)

Upgrading GitLab is as simple as:

    
    
        sudo gitlab-ctl stop unicorn
        sudo gitlab-ctl stop sidekiq
        sudo gitlab-rake gitlab:backup:create
        sudo dpkg -i gitlab_x.x.x-omnibus.xxx.deb
        sudo gitlab-ctl reconfigure
    

And we're working very hard to make sure this is a flawless, uneventful &
boring process for 100% of the users
[https://twitter.com/PentiumBug/status/569930640725946368](https://twitter.com/PentiumBug/status/569930640725946368)
We're also working on a package server so you can just use apt-get to upgrade.

~~~
mrmondo
+1 (Or can I give +1million?) to Gitlab.

GitLab is now one of the core products in our business and we (Devs, Ops and
PM's) love it.

For Ops: * It's easy to deploy.

* It's easy to manage / support.

* Gitlab-CI now builds all our Docker images which is great.

* Gitlab-CI runners are a pain in the ass to deploy.

For Devs:

* It's workflow and code review is great.

* GitLab CI is a great alternative to using external CI systems / Jenkins.

For Everyone:

* It's wiki is great (and getting better over time).

* It's fast.

* It's _very_ reliable.

* The community is great as is GitLab as a company.

* GitLab's momentum of the last 6 months has been great and shows no sign of slowing.

We don't have it hosted on very powerful hardware but it flies - so much
faster than using Github, or our old internal setup of Gitolite+Gitweb/Redmine

I tried out Gogs yesterday and this is what I took away:

* It's incredibly fast.

* It's incredibly lightweight.

* At first it looks 'pretty' but quickly you it becomes clear that it's actually quite unintuitive to use (for example, it took everyone that tried it here longer than it should to find how to log a new issue).

* There is no wiki.

* There is no CI.

* There is no Debian package which would be nice.

* It's written in a language that most Devs / Ops can't contribute to or bug fix.

All and all, I'm very excited about Gogs for my personal git hosting at home /
on my VPS' \- but I don't think it's even close to providing the system that
GitLab has at present.

~~~
e12e
Thank you for sharing your points: for me this is actually quite an
endorsement of gogs (But then, I'm not looking for an alternative to gitlab).

> * There is no Debian package which would be nice.

True. AFAIK there aren't any packages in Debian that depend on go/golang yet,
not even in sid. That doesn't mean one can't make out-of-band debs, of course,
but gogs unfortunately isn't alone here. Does anyone know of any
util/tool/package in go (other than golang) that's packaged for Debian?

> * It's written in a language that most Devs / Ops can't contribute to or bug
> fix.

As opposed to what? I'd think being able to patch something in go would be
within the grasp of most Ops, and also most devs?

~~~
mrmondo
For sure - it's got lots of promise and we are by no means bound to what we've
bought into - we'll use whatever's best, at the moment that's Gitlab.

To clarify I didn't mean that it would be nice to have packages that are
maintained by or in the default Debian repo - but an apt repo for the project
would be nice.

I've found Go a pain to read and hack with - Ruby and Python however are a lot
more readable and any of our ops or devs would feel confident in finding /
reporting bugs in either.

~~~
e12e
Actually, I was wrong (also in my sibling comment):

[http://gogs.io/docs/installation/install_from_packages.md](http://gogs.io/docs/installation/install_from_packages.md)

(Linked from the github page). So there are debs available of gogs. Trying to
figure out how to build a deb from the git repo, but if all you want is
upstream binary debs, you appear to be covered.

~~~
e12e
See this stackoverflow q/a -- it appears to contain most of the current
highlights. Basically Ubuntu has started packaging a few go apps, and fpm[f]
seems to be an ok alternative in the meanwhile:

[http://stackoverflow.com/questions/15104089/packaging-
golang...](http://stackoverflow.com/questions/15104089/packaging-golang-
application-for-debian)

packager.io (which upstream googs uses) seems to be a nice way to _just get
packages out there_ , but as far as I can tell it's pretty well walled-off
behind a service, so no easy way to build locally, off-line, or without using
packager.io etc. In that sense it strikes me as a poor choice for Free
software, as there is no promise that things will continue to work, or can be
made to work, long term.

[f] [https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm)

~~~
mrmondo
I've used FPM for small things that aren't too complex but I certainly
wouldn't trust the Ubuntu packaging team.

~~~
e12e
I think I have an idea where you're comming from, but that's still a little
too harsh. In case of programs written in go, it's not really all that
complicated I think: go pretty much "solves" (ignores by forcing vendoring in)
source/build dependencies -- and the resulting build is only a binary and
resources. So it's a pretty good fit for stuffing in a cpio/deb-file -- I
think what's mostly lacking on the Debian side is motivation (some package or
other that is written in go).

Actually, come to think of it... might be time to have a look at apt-get
source docker.io...

------
geerlingguy
I've been trying both Gogs and GitLab locally for personal projects, and like
both for different purposes. GitLab seems to have an edge in terms of larger
organizational usage and integrations... but Gogs is faster for smaller orgs
and way simpler to set up and manage.

I have a couple quick demo Vagrant configurations you can use to spin up both
and choose for yourself which one you like better:

    
    
      - Gogs: https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs
      - GitLab: https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gitlab

~~~
sytse
Thanks for the Vagrant image! We like to think that GitLab is simple to setup
and manage if you use the Omnibus packages.

Also, another vagrant installer is [https://github.com/tuminoid/gitlab-
installer](https://github.com/tuminoid/gitlab-installer)

------
izolate
We moved to Gogs. GitLab was too slow, and started giving us random 500 errors
(fatal bug).

Overall, it's been more enjoyable than Gitlab. Things I don't like:

* No pull requests / issues

* No deploy keys

* It's a full on GitHub replacement in the sense that anybody can sign up to your Gogs instance and use it. Who's using it that way? Would be much better if it were built for one organization with a way to group repos into projects.

~~~
apetresc
"No pull requests" and "It's a full on GitHub replacement" seem like
incompatible statements.

~~~
taylorlapeyre
Yeah, no pull requests is an instant deal breaker.

~~~
izolate
They'll be included in some near future release. See this:
[https://github.com/gogits/gogs/issues/5](https://github.com/gogits/gogs/issues/5)

------
klaruz
Why do I rarely see Gitblit talked about as an open source alternative to
GitHub? It does a lot:
[http://gitblit.com/features.html](http://gitblit.com/features.html),
including a well thought out ticket workflow:
[http://gitblit.com/tickets_overview.html](http://gitblit.com/tickets_overview.html)
It's also very easy to install, since it only needs a JVM.

I started using it after getting frustrated with Gitlab's install process on
RHEL (a year ago), and I used Gitolite before that. Gitblit has been
refreshingly simple to deal with. Am I missing something other than the
standard JVM hate?

~~~
icefox
I see a lovely list of all sorts of features, but then I get to limitations:
"Built-in access controls are not branch-based, they are repository-based."

That falls under one of the three things that the Git solution must have or
else I will just pass and find something else. [http://benjamin-
meyer.blogspot.com/2014/10/so-you-want-to-bu...](http://benjamin-
meyer.blogspot.com/2014/10/so-you-want-to-build-git-server.html)

------
solutionyogi
Why are they not dogfooding?

If they will use Github to develop Gogs, the potential audience may think why
they should not use Github itself.

I am not trying to put them down, it's very difficult to dog food when your
product is in its early state but their page suggests that they already
support Issue Tracking. I think it is in a state where they can use Gogs to
develop Gogs. This will ensure that they work on those items which affects
developers the most.

~~~
lsaferite
If a primary stated goal is self-hosting private repositories, why would you
expect them to self-host?

Especially when it's an open-source project and GitHub is a large nexus of OSS
development.

~~~
delinka
I expect dog-fooding by people making tools for other people. There is no
reason they can't self-host (without publishing the interface to the entire
'net) and then just use GitHub as another remote to handle external
collaboration.

------
technomancy
Maybe it isn't fair, but every time I see "...written in X" tacked on the end
of the tag line, I assume it's a very immature product. If the implementation
language is that high on the list of things potential users might be
interested in, it's usually a sign that they've got a ways to go.

~~~
nine_k
The implementation language has _a lot_ of implications.

* I'm extra wary installing anything written in e.g. PHP: it has a higher chance to be remotely crackable.

* I plan for more CPU and expect higher latency if something I need to run is written in e.g. Ruby.

* I plan for extra RAM and JVM tweaking for things written in Java (or Scala).

* I expect extra setup hassles for things written using Node.

Upsides are easy to see, too.

* I expect that it will be especially easy to read and alter code of something written in especially readable languages like Python, or Ruby, or Go.

* I expect that it will be dead easy to deploy something written in something that gives you a static binary, like Go or C or Haskell.

* I expect that things written in a compiled language like Java, or C, or C#, or Go, etc will run pretty fast.

* I expect that a program written in C has good chances to be optimized for low/efficient resource usage and thus could run well on a low-power device.

* I expect that something written in an elaborate statically-typed language like OCaml or Haskell is not prone to crashing with null-pointer exceptions or memory corruption.

~~~
awalGarg
> e.g. PHP: it has a higher chance to be remotely crackable

No language war/php sucks discussion, but this isn't even remotely true :/

~~~
scintill76
Or at least, we can see that Ruby can have stupid security holes too, for
example[0].

[0]
[http://sakurity.com/blog/2015/03/15/authy_bypass.html](http://sakurity.com/blog/2015/03/15/authy_bypass.html)
("How "../sms" could bypass Authy 2 Factor Authentication".)

------
Vendan
Just as a warning, I don't consider gogs to be stable enough for production
use. There's data race errors that pop up, resulting in errors resolving
various assets. I've had everything from user's avatar icons to the main
homepage randomly error out as 404. The dev doesn't seem to understand that
data races, i.e. unsafe cross thread data access, is an issue. In addition,
note that it and least some of the libraries it uses are written by devs for
whom english is at best a second language, so expect difficulties
communicating. Finally, a lot of the paradigms it uses are considered un-
idiomatic by the golang community at large, so don't expect assistance from
the community(for instance, dependency injection and reflection powered
"magic").

~~~
mholt
> note that it and least some of the libraries it uses are written by devs for
> whom english is at best a second language, so expect difficulties
> communicating

Considering that English is not their native language, I'd say they're doing
pretty darn well so far. Speaking with at least one of the developers
personally and via email, I've never had any trouble.

> don't expect assistance from the community

Well that's a mighty presumptuous thing to say about a lot of good people. By
and large, the Go community likes Gogs and its developers. I've met Jiahua
personally. He's a solid guy and one really dedicated developer. Overall, the
Go community wants Gogs to be great.

If you don't like Gogs, you don't have to use it. But you're raising a warning
about it because you think the Go community treats it like some sort of poison
and that the developers are incompetent. Neither are true.

~~~
Vendan
I tried to get the developer to fix my issue, or even consider it as an issue,
but got no where.

I'll admit, I don't speak for the community as a whole, but about every go
developer I've spoken to has the same feeling I do, and it's echoed all over
the web. Macaron, the central framework, is inspired by, and rather heavily
follows, the style of Martini. It's dependency injection and runtime
reflection code style is considered highly unsafe. But don't take my word for
it, maybe you'll listen to the author of Martini?
[http://codegangsta.io/blog/2014/05/19/my-thoughts-on-
martini...](http://codegangsta.io/blog/2014/05/19/my-thoughts-on-martini/) Or
the post it's in response to? [https://stephensearles.com/three-reasons-you-
should-not-use-...](https://stephensearles.com/three-reasons-you-should-not-
use-martini/)

------
awalGarg
I explored it heavily for the last 2 minutes on my Ubuntu 14.04 fresh VM.

\- Installation (and liberty to chose between 3 database engines) couldn't be
easier. No Gitlab's omnibus package doesn't come even close.

\- Gogs does support issues. Proper Github like issues with labels,
milestones, assignees, markdown etc.

\- There are no pull requests. And you can't edit files from the web
interface. I bet Linus Torvalds will love it and ask Github to shutdown in
favor of Gogs.

\- The interface is pretty much the same as Github, so ++ there too.

\- Sending commit messages like "do something, fixes #3" won't close #3.

\- You cannot code review, comment on diffs, or commits. This one hurts me.

\- Is too much fast and less resource intensive compared to Gitlab, so ++ if
you are resource limited.

I would recommend to run locally for small personal projects. OR if you just
want a web interface to git, and not a browser based version control system.

------
adsche
Just downloaded the current linux binary package. Unfortunately, installing is
not yet as easy as unzipping the archive as the article claims.

It contained some __MACOSX, ._* and .DS_Store files. They don't disturb
anything but thats just careless packaging.

The executable bit on the executable was not set.

The config file suggests fo generating keys:

    
    
        ; Generate steps:
        ; $ cd path/to/gogs/custom/https
        ; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
    

The path to the binary here has to be ../../gogs and the mentioned directory
has to be created.

Once it's up and running, I do like it so far for my personal repositories.

------
izacus
I use Gogs on my Synology NAS for personal use and I love it. Mostly because
it's so easy to setup and deploy - cross-compiling the binary for ARM was
simple, after that it was just a matter of SCPing it to the NAS itself.

It's not as feature rich as other options, but it does it's job well.

~~~
dordoka
Care to share how did you get it working on Synology? Thanks very much.

~~~
izacus
Uhm, basically I built it on my mac with

GOOS=linux GOARCH=arm GOARM=7 go build

See [http://dave.cheney.net/2012/09/08/an-introduction-to-
cross-c...](http://dave.cheney.net/2012/09/08/an-introduction-to-cross-
compilation-with-go) for cross compilation instructions.

Then I created a new user, scpd the distribution and added gogs binary to
rc.local. I also installed git from the Synology package manager. There was
some tweaking involved, but that was mostly it.

~~~
dordoka
Thanks izacus for sharing!

------
Touche
There's also Gitbucket which has as similar advantage:
[https://github.com/takezoe/gitbucket](https://github.com/takezoe/gitbucket)

~~~
neumann
I found gitbucket after trying (unsuccessfully) to run gitlab on my 512mb RAM
VM.

It has satisfied all the needs of our small group, which is essentially
keeping a visual track of our git repos and permissions.

~~~
bau5
You probably just needed more swap. If you already had 1.5GB, maybe try it
with 2GB.
[https://news.ycombinator.com/item?id=9212476](https://news.ycombinator.com/item?id=9212476)

------
Rafert
What experiences do people have with
[http://phabricator.org/](http://phabricator.org/) ? It's not a GitHub clone
but it does seem very complete, possibly replacing Jira and Stash if you're
into the Atlassian ecosystem.

~~~
neandrake
I've been working on migrating to using phabricator at my company. The
developer workflow is a bit different than that of GitHub/GitLab but it's
nothing that should hinder development. Primarily it revolves around using a
client-side command/utility called 'arcanist' in order to submit code for
reviews. The largest difficulty is working with feature branches which is a
newer concept at my company.

I have it working with LDAP + ssh access (a la GitHub, everyone uses the 'git'
account to push but uses their own keypair for authentication). The review
system works quite well, and one thing that I hadn't seen in other systems is
the ability to "squash" revisions -> while the code is being reviewed and
updated, once it's finally 'landed' into the repository all the diffs can be
squished to a single commit rather than having multiple commits correcting
eachother. One of the nicer things about running Phabricator is that it has
quite a bit of documentation, and

I've been quite pleased with Phabricator, and the bright people working on it
are always helpful in the IRC.

The largest gripe I have with Phabricator is the UI is a little tedious at
times (multiple page navigations for doing some things which feel like it
could be simpler, etc.).

You can create yourself an account on their hosted version, and browse their
development of Phabricator:
[https://secure.phabricator.com/](https://secure.phabricator.com/)

Edit: One other thing I wanted to point out which Phabricator does that
GitHub/GitLab and others do not appear to - Phabricator starts to form a model
around "Ownership" of code which has been useful on a large project. People
can elect to be notified when areas of code change that they otherwise would
not notice.

~~~
neandrake
I realized I left a dangling sentence:

One of the nicer things about running Phabricator is that it has quite a bit
of documentation, and..

..and the install provides really great feedback about how it's running.
Server issues are identified and displayed to logged-in administrators, so
phabricator actively analyses its status and any reports what actions might
need taken. The upgrade process is really smooth as well.

------
jumpwah
I know this is on the front page of [https://gogs.io](https://gogs.io), and
also that gogs is made to be self hosted, but have a look at
[https://notabug.org](https://notabug.org) as a website to host git
repositories which runs its own version of gogs.

I am not affiliated with the project.

~~~
julianz
[https://gogs.io/](https://gogs.io/) seems to be a completely different site
from [http://gogs.io/](http://gogs.io/), and has the wrong certificate as
well.

~~~
jumpwah
My bad! Accidently just assumed https.

------
andmarios
Gogs is great for one-person or small team setups. I switched to it from
gitbucket, which is also great and I do recommend it. It was the memory
footprint (Go binary vs JVM) that made the choice easy for me.

The functionality I miss the most is search. I think it may be easy to
implement some basic form of search using git grep.

~~~
liotier

      > The functionality I miss the most is search.
      > it may be easy to implement some basic form of search using git grep.
    

Or maybe have Gogs integrate The Platinum Searcher - a code search tool
similar to ack, written in Golang:
[https://github.com/monochromegane/the_platinum_searcher](https://github.com/monochromegane/the_platinum_searcher)

------
hmottestad
We run Gitlab at work.

It's a bit slower than Stash, but other than that I really love it. Lots of
features, and they are easy to use. Upgrading to the newest version has always
been simple.

Only gotcha we have had is the timeout of the workers, which meant that some
large repositories would be impossible to clone. After adjusting the timeout
everything was fine. Although a bit more caching would be in order to speed up
clones.

~~~
akfanta
"a bit slower"? My experience with Gitlab was terrible. It's unbearably slow
especially when I try to create a relatively large pull request for review.
The pull request comparison tool is not very smart either. Often times I have
a big chunk of false change detection.

Maybe I was doing it wrong, but I just don't see any advantage of it over the
like of Github and Bitbucket.

~~~
hmottestad
The advantage is that it's free to host it yourself.

Github enterprise is super expensive.

And Stash (the self hosted equivalent of Bitbucket) is also fairly expensive
once you go over 10 users.

~~~
icefox
Depends on how you look at it. Stash is dirt cheap compared to GitHub
enterprise so if you think Stash is expensive you are not either of their
target audience.

------
vhost-
I like this a lot. Gitlab was hard to get running for me on Debian. Plus it
was a rails project so it always takes 10 seconds to start up.

This was pretty quick. As a Go person myself, I love the single binary way.

------
ceejayoz
> You could certainly purchase access to private Github repositories, but most
> certainly you’d rather want to invest your capital in more pressing matters.

Getting a few private repositories on GH is $7/month.

It'll cost me more than that for a server, not to mention the time setting up
and managing.

~~~
bau5
Unlike GitLab, gogs can probably run well on a $5 DigitalOcean instance.

~~~
DouweM
Digital Ocean recommends running GitLab on their $10/month instance, so while
I haven't tried it, the $5 one is probably still up to the task:
[https://www.digitalocean.com/features/one-click-
apps/gitlab/](https://www.digitalocean.com/features/one-click-apps/gitlab/)

(Full disclosure: I'm a developer at GitLab B.V.)

~~~
sytse
If you're going for the 512MB please read the requirements
[https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/inst...](https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/install/requirements.md#memory) (make sure to set up swap
and use ssh access)

~~~
bau5
> 512MB RAM + 1.5GB of swap is the absolute minimum

lol

------
markthethomas
Is it just me, or does it bother anyone that the design seems SO ripped from
Github? Github's UI has a lot to be said for it and perhaps emulation is more
of a compliment here, but...even the icon font glyphs...

~~~
jordigh
Look-and-feel is famously not copyrightable in the US, and there's a familiar
interface brings a lot of benefit to the user.

So, no, it does not bother me. :-)

~~~
markthethomas
Totally valid -- I guess I just like to see projects that try something new
out, develop their own design, or at least put their own spin on something.
Just a personal preference, really.

------
alexcason
At what point does it become a concern when you're just ripping off the UI of
a competing product?

~~~
doughj3
Something something good artists, great artists?

Personally I feel for pieces of software like this it's fair to more or less
clone the user interface. There's a lot of effort built up in understanding
how to use this tool. Think of the complaints LibreOffice gets for not looking
enough like Word, or GIMP for not looking enough like Photoshop.

Plus, Gitlab is already open source, so can you really call it "ripping off"?
If you're referring moreso to Github, then I think Gitlab did it first and
Gogs is following that trend. I'm sure both projects improve on UI where they
feel best.

~~~
treve
It's one thing to offer the same UI elements and experience, it's another
thing to make it look _identical_ in colors, spacing, fonts, icons, etc...
They took it quite far imho.

~~~
doughj3
Can you show some screenshots of what you mean? Gogs[0] looks plenty different
from Gitlab[1] in colors, fonts, icons, and spacing. Hardly identical, but
both clearly inspired from Github.

[0]
[http://gogs.io/imgs/screenshoots/2.png](http://gogs.io/imgs/screenshoots/2.png)
[1]
[https://about.gitlab.com/images/feature_page/activity_stream...](https://about.gitlab.com/images/feature_page/activity_stream_full.png)

~~~
comex
I think the idea is that Gogs mimics GitHub, not Lab.

------
tracker1
It really bugs me that more people forget that you can use git+ssh on any
shared server, if you don't have the Pull-Request/review support, why bother
with more?

That said, the project is pretty cool.. it just bugs me a little that people
always reach for a full product for small teams with private git needs.

------
ctvo
What's the value of hosting your own Github alternative as an organization /
company? Do people have on-premise requirements and don't want to pay for
Github enterprise? I assume most start-ups don't and 25 USD for 10 private
repositories isn't going to break the bank.

~~~
Mahn
> What's the value of hosting your own Github alternative as an organization /
> company?

Despite Github maturity not everyone is comfortable hosting their own code at
someone else's host. Github could get hacked, employees could copy your code,
etc. Github Enterprise can help with these concerns, but it's expensive.

~~~
ponytech
+1 It's not a matter of cost, we'll just never trust a third party for hosting
our code.

------
lugg
Found an easier to use docker setup [1]. Took around 5 minutes after downloads
to setup in a docker-machine vm on a mac. Quite nice little gui, just make
sure you change localhost and port to the correct docker vm ip (or hostname if
you're on a droplet or something)

Only commenting because I found their docker setup to be far overcomplicated
(uses fig and I couldn't be bothered figuring out what I needed / didn't)

[1] [https://github.com/codeskyblue/docker-
gogs](https://github.com/codeskyblue/docker-gogs)

------
orthecreedence
Does Gogs support webhook integrations (ie, someone pushed to this repo,
notify our team on slack)?

I'm interested in Gogs because gitlab seems to have trouble servicing multiple
requests, like when deploying to four servers and they all try to pull code at
once (three of them fail). We could have just misconfigured something, but
it's hard to imagine there's a config option for "fall over on concurrent
requests."

~~~
sytse
I'm sorry to hear that GitLab didn't seem to work with multiple requests. The
way to resolve this is to configure multiple unicorn workers, please see
[https://gitlab.com/gitlab-org/omnibus-
gitlab/blob/master/doc...](https://gitlab.com/gitlab-org/omnibus-
gitlab/blob/master/doc/settings/unicorn.md#unicorn-settings)

On GitLab.com we have 20+ unicorn workers that handle over 30k monthly active
users.

~~~
orthecreedence
Cool, thanks for reaching out! I'll look into this. Finding info about this
problem was a chore, so I'm really appreciative you're able to point me
somewhere =].

~~~
sytse
You're welcome, I tried to improve the documentation so that it is easier to
find [https://gitlab.com/gitlab-org/gitlab-
ce/commit/9269606c94853...](https://gitlab.com/gitlab-org/gitlab-
ce/commit/9269606c94853c8cc0f9c850582dae09d809cdab)

------
codewithcheese
"But what if you’re writing some Android app, maybe you’re building the next
great iOS game or in general, you’re writing some code that you don’t want to
be exposed to the general public ?

You could certainly purchase access to private Github repositories, but most
certainly you’d rather want to invest your capital in more pressing matters."

... BitBucket!

~~~
maaaats
Yeah, the reasoning is not completely sound. I think a better argument to use
Gogs would be the fact that your code is self-hosted with the implications of
privacy that brings.

------
one-more-minute
I just downloaded this to try it out and it really is insanely easy to get
going. Just unzip and `./gogs web`, done. It's also clear what settings and
data are getting stored where, so moving / upgrading / removing looks easy.

That in itself is pretty compelling, even if it's clearly not as mature as the
competition yet.

------
yAnonymous
GitLab is doing a good job here, but it's great to see there are many good
alternatives in the git world.

------
eugeneionesco
Is this better than Phabricator?

[http://phabricator.org/](http://phabricator.org/)

------
somesay
> Also, since Google Code hosting project is closing down, you can expect more
> projects being driven to it.

Well, Google Code was never used for private repositories, so that argument is
irrelevant for the intended free private repository introduction.

------
alkonaut
Still looking for a good locally deployable github alternative that has decent
issue tracker (i.e. youtrack/jira/tfs level of customization and planinng
support) AND pull request support. Are there any? Is this it?

~~~
icefox
Why not just install a separate product that is dedicated to being a really
good issue tracker?

~~~
yourapostasy
I was introduced to the concept of integrated defect and issue tracking inside
a source control system by IBM CMVC [1]. I'm certain there are even earlier
tools that implemented this concept.

If you have a large, distributed team, say more than a couple dozen
developers, then a tightly-interwoven defect and issue tracker that disrupts
the workflow of the developers as little as possible enables some support
organization models that are otherwise very unwieldy. Even with just plain
text defect and issue fields, it was pretty remarkable how much sideband
material via email was avoided.

Most of the satisfaction with this tooling depended upon (as usual) how
management dictated it be used. Developers who had to use these features
didn't universally love it though, even with developer-savvy/friendly
management. Generally, modulo adverse management interference, if you did a
lot of maintenance work on a code base, I can reasonably predict that you
would tend to either like the integration, benignly tolerate it, or come to
like it; it did save a lot of time, especially for those who automated parts
of the related workflow.

This stemmed from being able to start with an issue that simply described the
support ticket, evolve it to a defect that identified change sets that
encompassed the suspected cause, check out, branch, check in code only related
to the specific defect, including ancillary/utility/harness/test code specific
to just the defect. It made it easier to "break off" a chunk of code for a
specific defect, if someone put in the work to identify those pieces of code
and properly used the integrated defect/issue features.

I personally like this kind of integration, and furthermore want regression
testing support tied into it, but that's only because I'm really lazy and my
memory leaks like a sieve, so getting back into the zone for a specific issue
I worked on even only N weeks/months ago, locating all the relevant chunks of
code needed, is terribly tedious for me.

[1]
[http://en.wikipedia.org/wiki/IBM_Configuration_Management_Ve...](http://en.wikipedia.org/wiki/IBM_Configuration_Management_Version_Control_%28CMVC%29)

------
Sami_Lehtinen
One of the reasons I'm using Bitbucket vs GitHub is that Bitbucket allows free
private repositories. Yay, but I love Cogs. Easy to install self hosted
version. Sounds perfect for just so many purposes.

------
zoomix
That's weird. I'd have thought that "difficult to manage/install/update" is a
used-to-be problem now that docker's around..

------
IE6
I've used gogs because of it being mentioned here before however I'd love to
see an analysis of the stability of these various git front ends.

------
enlightenedfool
Can anyone comment on the T&C on ownership of repo content on these Git hosts?
I could not locate specific mention of that on Gitlab.

~~~
JonathonW
Gitlab's terms and conditions for their hosted service are here; they don't
really address ownership:
[https://about.gitlab.com/terms/](https://about.gitlab.com/terms/)

Gogs isn't a hosted service; you're installing it on servers you control, so
you retain ownership of your content. (I suppose there would be questions
about ownership if you uploaded content to their demo instance at try.gogs.io,
but you probably shouldn't upload things you care about to a demo server like
that.)

------
amree
Should've include Redmine in the list too

------
vallard
seems like with docker to install gitlab now the argument for ease of
deployment doesn't matter as much anymore.

~~~
sytse
Thanks! And if you don't want to use Docker you can use the Omnibus packages
of GitLab to install in 2 minutes.

~~~
fsniper
sytse: I think installation is not the issue with gitlab. It's rails
ecosystem. It's slow, hard to manage and composed of magic. I'm currently
using gitlab, promoting it. But this does not mean, I won't leave it at a whim
if some contender without rails comes through.

~~~
sytse
I agree that Rails applications are more complex. But having 100+ gems in
GitLab also allows us to reuse a lot of great libraries and deliver features
faster. But cgit will always be more performant.

------
le_lenny_face
Anything to discourage a GitHub monoculture is a good thing, IMO.

