
Gogs – A simple, stable and extensible self-hosted Git service - jcamou
https://gogs.io/
======
frfl
[https://gitea.io/en-us/](https://gitea.io/en-us/) is a fork with some
additional functionality and more open to outside contribution[1]

[1] [https://blog.gitea.io/2016/12/welcome-to-
gitea/](https://blog.gitea.io/2016/12/welcome-to-gitea/)

~~~
Master_Odin
Yeah, it was disappointing to see that the author of Gogs considers stuff like
deleting branches and doing squash and merges outside the scope of what Gogs
should do. Much happier after moving to Gitea.

~~~
black-tea
That's great imo. I strongly dislike these things being much more than
"viewers" for the underlying git repo. Deleting branches and especially
merging and squashing should be done with git. Double especially squashing...
I hate to think of the mess that could cause when attempting it with a Web
frontend.

~~~
elcomet
It's just git underneath.. And it's not going to do any mess. If it cannot
perform an operation (like merging with conflicts), then it is going to tell
you about it and you have to do it manually. But why restrict such
functionalities that are very convenient ?

I don't think that `git push --delete <remote_name> <branch_name>` is very
easy to remember so I prefer doing it via the web interface.

------
riffic
Some people, when confronted with a problem, think "I know, I'll self-host a
service." Now they have two problems.

~~~
Xylakant
There’s variety of reasons to self-host. Having in internal git service can be
nice if your connectivity is bad or spotty. An extreme case of that would be
an airgapped network. Company policy might require that code does not leave
the company network. You might legal be compelled to have full control over
your code and where it goes (think: code under export restrictions).

All of these people self-host and it solves a problem for them.

~~~
geezerjay
> There’s variety of reasons to self-host. Having in internal git service can
> be nice if your connectivity is bad or spotty.

It's also hard to justify routing traffic through different continents if all
you want to do is share a repository with someone sitting at a desk right next
to you.

------
INTPenis
How is it painless? I've been using gitlab since v7 and looking at the install
instructions of gogs remind me of gitlab a lot.

I recently got rid of my personal gitlab because it's too painful to operate.
I only need a simple ssh user with a directory for my own purposes.

Gitlab is only necessary at work where we are an entire team using it.

~~~
yalue
Having set up both, Gogs is _much_ easier to set up than gitlab, and I don't
know how the install instructions are similar. Gogs' are, from
[https://gogs.io/docs/installation/install_from_binary](https://gogs.io/docs/installation/install_from_binary),
essentially "download and run". The binary build they provide even has sqlite3
support out of the box, so you don't even need to install a database if you're
only working with a small group. Also, gogs is far more performant than
gitlab, and will happily run on an older raspberry pi.

~~~
INTPenis
First of all the page you linked is not the page linked from the landing page.
[https://gogs.io/docs/installation](https://gogs.io/docs/installation)

I've always avoided the docker setup because I want control of where my
database is and such details.

But yeah all I see when I look at the install instructions are the same steps
as gitlab requires, unless you use Docker.

It would be possible for them to make a simpler package for simple users where
they'd use sqlite for example. This can easily be upgraded to
Postgres/MariaDB.

I like the ROOT setting because that means I can easily adopt gogs on my
existing personal git server which simply uses a gitrepos directory in a home
directory on a closet server.

So hypothetically were they to use a default database setting, and a default
ROOT setting, you could have a working gogs setup with just two package
manager commands, one to add the repo and one to install the package. That's
painless!

Advanced step can be to create a mysql database and import your sqlite data.

~~~
dsumenkovic
Hello, Community Advocate from GitLab here.

I would love to share this little piece of information about GitLab
installation with everyone.

Since there was a little confusion mentioning GitLab installation, I would
love to clarify that our installation page [1] offers many different
approaches. Before the installation process, please make sure that you read
our Installation doc [2].

The Omnibus package may be the best choice installation since it is quicker to
install, easier to upgrade, and it contains features to enhance reliability
not found in other methods [2].

[1] [https://about.gitlab.com/install/](https://about.gitlab.com/install/)

[2] [https://docs.gitlab.com/ee/install/](https://docs.gitlab.com/ee/install/)

[3] Other official installation methods are via Docker, Kubernetes, Google
Cloud Platform etc.

------
floren
The truly painful thing about using gogs has been the inability to search
issues. Maddening once you get past a trivial number of issues and just want
to know if someone's reported a bug.

~~~
CyberShadow
According to [https://docs.gitea.io/en-
us/comparison/](https://docs.gitea.io/en-us/comparison/) , it looks like this
is implemented in the Gitea fork.

~~~
rcarmo
It is. I run it for some personal projects and it does search issues.

------
okket
Previous discussion from 2 1/2 years ago:
[https://news.ycombinator.com/item?id=11374003](https://news.ycombinator.com/item?id=11374003)
(183 comments)

Full list of discussions about Gogs:
[https://hn.algolia.com/?query=gogs&sort=byPopularity&prefix&...](https://hn.algolia.com/?query=gogs&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

------
johnchristopher
I understand we could change the repo explorer functionnality since it's based
on GIT but why keep the issues and wiki tied to this GIT service ? Why don't
we have independent issues management, GIT stuff and wiki solutions that could
be plugged into a webpage with basic URL support to link between git updates
and bug reports ?

------
nwmcsween
IMO both of these are the wrong way to go about having a git web ui, a simple
hook could generate html partials and with a bit of javascript stream the
fragments when required. Bugs/todos should also be under source control and
would be handled better again by a hook.

