top | item 11374003

Gogs – Go Git Service

341 points| of | 10 years ago |gogs.io

183 comments

order
[+] Mahn|10 years ago|reply
> How to use downloads?

> 1. Extract the archive.

> 2. cd into the directory just created.

> 3. Execute ./gogs web and you’re done.

Can't beat the simplicity of running Go applications. It's funny because running a compiled binary is so incredibly basic to computing, and yet 90% of the time installing a new shiny toy in a server involves dealing with 342525 dependencies, half of which broke because god knows what dependency wasn't targeting the right version. And you sit there debugging dependencies and errors and pulling your hair for two hours, trying to get someone else's mess to work, wondering how did we get this so wrong.

[+] gnuvince|10 years ago|reply
A lot of Java software is "(1) download the jar file, (2) java -jar thefile.jar". Agree it's good for the user, but when people talk about distributing a statically-linked program the "what about security updates" question invariably comes up.
[+] forrestthewoods|10 years ago|reply
Yes. Digging up dependencies is the worst. Managing another fucking build tool is the worst. To be honest, anything short of clicking a thing is the worst. Because there's no reason it can't be as simple as clicking a thing.

I've always believed that 100% of all dependencies should be included in projects. Whether that is raw source code, amalgamated source code, static libs, or dynamic libs I don't care. Give to me the things I need to run and/or build your project. Don't make me hunt shit down.

[+] matt4077|10 years ago|reply
It's mostly a result of trying to avoid duplication. It's a non-issue for a server running one service but quite relevant on, for example, a dev workstation with dozens of projects or for smaller tools – imagine if every system command brought it's own dependencies.

But the trend seems to go towards sacrificing disk space for isolation, i. e. NPM which makes it more or less impossible to use a system-wide 'node_modules'.

[+] incepted|10 years ago|reply
> Can't beat the simplicity of running Go applications.

... as long as you downloaded the right binary.

[+] danellis|10 years ago|reply
If this is so desirable, why haven't people been shipping open source C and C++ software this way? It's not like Go invented static linking.

Not just C and C++, either -- Python, Ruby etc software could be shipped as statically linked executables.

[+] Udo|10 years ago|reply
I've been using Gogs now for a few months and can't recommend it enough as opposed to GitLab. It does have some rough edges (for example the many instances where its CSRF protection feature misfires), but generally it's a very solid and performant git frontend. Although a plugin or widget system would be nice, it was also easy to extend the Gogs UI simply by editing its very straight-forward template files.
[+] mh-cx|10 years ago|reply
Same here. Gitlab is soooo extremely slow. Even on their own site many pages take several seconds to load. And no one really seems to care.

Gogs is a great relief.

[+] ddon|10 years ago|reply
Would be nice to have a list of features which Gogs offers and GitLab is missing! We are happy using GitLab...
[+] qz_|10 years ago|reply
I wonder if Gogs will have to change its ui.. https://news.ycombinator.com/item?id=11374786
[+] tschellenbach|10 years ago|reply
They should. Github obviously spent countless hours perfecting their UI. Other apps shouldn't be allowed to copy it. (I have no affiliation with Github, other than that I'm a developer and respect the hard work they've put into their product.)
[+] joeblau|10 years ago|reply
I'm surprised it's not using material design.
[+] merpnderp|10 years ago|reply
We downloaded and installed Gogs, Gitlab, and Bitbucket. I liked Gogs the best, but Gitlab seemed more enterprise-y, and Bitbucket had an issue we could never figure out. We're trying to replace TFS, so we'll probably end up with Gitlab.

But since I was the one doing the installing, I sure wish we'd go with Gogs. It was 5 minutes from start to finish.

[+] sytse|10 years ago|reply
What can we improve in GitLab to make it better? Did the install take too long? Did you try our Omnibus packages or a source install?
[+] wsh91|10 years ago|reply
What issue did you have with Bitbucket, if you don't mind my asking? :)
[+] matheweis|10 years ago|reply
I switched to gogs from GitLab and haven't looked back. The installation literally took 10 minutes including all of the sysadmin work.

Main reason was the resource utilization of GitLab was just too high. iirc, it was actually the CEO of GitLab that recommended the switch... ;)

[+] FiloSottile|10 years ago|reply
For extra ease and security (two things not often found together!) try setting it up in a Sandstorm server, works with one click and is sandboxed from the rest of your server. https://sandstorm.io/
[+] pellucide|10 years ago|reply
Took me about 3 minutes to have it running on a free account.
[+] empressplay|10 years ago|reply
We run Gogs on a bog-standard $10 VPS and it works great; quick, snappy, reliable. Very efficient.

Can't recommend it enough. Resource usage matters.

[+] tazjin|10 years ago|reply
Been using this for a while now and very happy with it. I decided to stop using Github for personal projects due to political disagreements with the company and the fact that git should really not be centralised.

Gogs has probably 95% feature parity with Github and it is a lot faster (is Github still Ruby? That would explain it ...)

I run a personal Kubernetes cluster for services and getting Gogs up and running was super-simple: https://git.tazj.in/tazjin/infrastructure/src/master/gogs/go...

[+] mbrock|10 years ago|reply
How can you compare speeds when you can't run GitHub on your setup? Running a multimillion user service is vastly different from running your own personal server, right?
[+] umanwizard|10 years ago|reply
Why would ruby explain it? Do you think most of the time you spend waiting for GitHub pages to load is due to CPU load on the application layer? Why would we expect this to be the case?
[+] fiatjaf|10 years ago|reply
But you lose the "social" aspect of GitHub, right? How do you deal with this?
[+] paukiatwee|10 years ago|reply
Just curious, where (AWS, DO, GCE or other) do you run your Kubernetes cluster ?
[+] Bedon292|10 years ago|reply
I have been using gogs at home for a few months now as well. It has been great for all of my needs. Like version controlling little python scripts I am playing around with, or my resume, term papers, etc in LaTeX. Stuff that will never be public that I would like to have a little more control over.
[+] jeromenerf|10 years ago|reply
I use gogs and github. Both are great git backends, featuring simple collaboration management. The issues and wiki however feels too primitive to be useful. I can't really decide if they are already bloated or if they have not reached MVP yet.

Anyway, I would love to see better integration on both with their mandatory complements, such as kanban, CI, ...

[+] xtacy|10 years ago|reply
Kudos on the polished project release. I am relatively new to go, and I am curious about the technology stack behind such a webapp. How does it work under the hood?

- How do you develop such web apps with html, css, javascript, go, etc. all interacting with each other?

- How are static assets packaged in a single binary?

- Any simple tutorial or stack walkthrough you would recommend me reading?

thanks!

[+] _1|10 years ago|reply
Why is software still being named for the language it was written in?
[+] voidlogic|10 years ago|reply
For everyday software this is fair, but is software made FOR DEVELOPERS. All things being equal between two solutions, I am going to take the one implemented technology I know and can hack on easier.

Also, many of the most popular solutions in this space are written in what some people would call "low performance languages", since the author here is using a "high performance language", its just good marketing too.

[+] joeblau|10 years ago|reply
I thought it was because of "Go"ogle but then I clicked though the link. It's pretty interesting that they've launched this because I feel like this is GitHub's bread and butter for enterprise.
[+] weberc2|10 years ago|reply
So the haters at /r/programming know to stay away?
[+] 11mariom|10 years ago|reply
Do you know any Continous Integrations which fits well with Gogs?

Something small, easy to setup, easy to use. Just as Gogs is.

All I want - integration with git/gogs (webhook?), status page (with detailed build/test info, especialy for fails), status image (for readme in gogs).

[+] mrmondo|10 years ago|reply
I use gogs at home, but run Gitlab At work - it just has so more many more features and far more customisable - also Gitlab CI rocks, it seems to scale really well - 60 active developers on a tiny vm and its lightening quick and we can easily do more than 100 releases a day.
[+] sytse|10 years ago|reply
Glad to hear that you like GitLab CI. Continuous Delivery FTW!