[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