[Alioth-staff-replacement] Alioth needs your help

Michael Lustfield michael at lustfield.net
Fri Aug 18 12:07:03 UTC 2017


> It may look that the decision for pagure as alioth replacement is already
> finalized, but thats not really true. I got a lot of feedback and tips in the
> last weeks, those made postpone my decision. Several alternative systems were
> recommend to meb, here are a few examples:
> 
> * [gogs](http://gogs.io)

As far as I'm aware, no final decision has been made and gogs/gitea are
currently in the running. I'm the owner of the (long-standing) ITP for
gogs/gitea and an ex-admin of gitlab. Opinions follow...

To get started.. gogs vs. gitea.
Gitea is a fork of gogs. When I first took ownership of the ITP, the intention
was to package gogs. However, I quickly ran into the same issues that caused
the gitea fork to exist. There is a blog post [1] that explains the fork in
more detail. The reason I chose to stop following gogs is documented in the
ITP.

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


tl;dr -- gitea == gogs + community + more features


> License

There are currently some DFSG concerns, but those are nearly cleared up. Gitea
is fully open source.

> Featureset compared to a popular system like github

Features available: https://docs.gitea.io/en-us/

Things github supports that gitea doesn't:
  - comments by mail
  - commit status widget (CI)
  - comments on code lines
  - oauth2

> A really nice thing would be a working vagrant box
> / vagrantfile + ansible/puppet to test things

https://github.com/go-gitea/gitea/tree/master/docker
https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs

> Advantages: why should we choose that system

Gitea, in my experience, runs very light on resources. The application
configuration is a single file that can be dropped into place and run on a few
machines. If a shared database (and storage) were used, I don't see any reason
to believe there would be any issues scaling horizontally.

> Some information about scaling (expect something like 15-20k repos)
> Some implementation designs

As far as I can tell, gitea itself is very light on resources and the bulk of
the effort ends up being put on the git binary itself.

I deployed an instance with two app (gitea) servers with data hosted on an NFS
host and data/cache hosted by mariadb/redis on another host. (four total) The
instance has about 180 GB of disk available to play around with. I primed the
"Debian" organization with some data [2] from collab-maint.

[2] http://debian.gitea.lustfield.net/explore/repos

The actual migration path isn't too bad. It can be scripted in a lot of
different ways. It could be made to replicate the structure on alioth pretty
easily.

If anyone wants to play with alioth projects on this instance, you can:
  1. Create account / Log in
  2. "+" icon -> New Migration
  3. Fill in details (example):
     Clone Address: https://anonscm.debian.org/git/collab-maint/tdc.git
     Owner: <myself>
     Repository Name: tdc
     Migration Type: <mirror?>
  4. Click "Migrate Repository"

It's possible to create API keys and automate the previous process.

(disclaimer: 180 GB of disk on a VPS is exciting, but it's not fast)

> Disadvantages: why shouldn't we choose that system

Gitea is a very active project. I've witnessed a lot of care taken to prevent
regression problems. It is also a very young project with some of those typical
growing problems.

It's still not packaged for Debian; mostly waiting on upstream and some JS
library packaging.


> Overall opinion...

I don't have a hard opinion one way or the other. I think gitea would be very
capable replacement. It seems to be very friendly to system resource, often
dwarfed by git-remote-http or nginx processes. I thought it was incredibly easy
to deploy with some basic load balancing in place (two dns-balanced nodes).


Now...
> My opinion of gitlab

It's been a long time since I deployed and managed gitlab instances, but I
recall it being an utter nightmare to deploy via automation, and worse to
manage. I also remember it being pretty eager to chew up system resources.

I once switched from gitlab to gitea, and I haven't considered looking back.

I've never tried pagure or kallithea, though. They seem like interesting
options.

-- 
Michael Lustfield



More information about the Alioth-staff-replacement mailing list