Der git-service "gogs" ist schon eine feine Sache. Aber wenn man Sowas betreibt, möchte man eventuell keine github-Konkurenz aufbauen, sondern einfach nur in Ruhe seinen (eigenen) Code hosten. Hat man jedoch die Registrierung bei der Installation aktiv gelassen, kann sich Jeder auf dem gerade aufgesetzten git-Server repos anlegen und Daten abladen. Da jedoch auch im Jahre 2017 noch "Speicherplatz" ein realer Begriff sein kann, will man eventuell nicht Jedem und Jeder diesen Service anbieten.

Falls die hier angesprochenen Werte in der app.ini nicht existieren, dann kann man diese einfach anlegen. Genauere Infos zu den Werten der app.ini und zur Konfiguration von gogs gibt es z.B. HIER auf der Projektseite.

Variante 1: Registrierung deaktivieren

Die naheliegende Variante, um dagegen vorzugehen, wäre die Neuregistrierung für Benutzer zu deaktivieren. Dies kann man z.B. gleich nach der Installation machen, wenn man gogs zum ersten Mal im Browser aufruft. Hier gibt es beim Durchlaufen des Einrichtigsassitenten ein Häckchen, dass man setzen kann.

Nächträglich lässt sich die Konfiguration von gogs immer noch durch das Editieren der custom/app.ini verändern. Die sollte man im Ordner finden, in den man gogs installiert hat.

Im Block [service] setzt man dazu den Wert DISABLE_REGISTRATION auf "true". Danach sollten keine Registrierungen durch die Benutzer mehr möglich sein. Nutzer mit Administrator-Status können weiterhin zusätzliche Nutzer "händisch" hinzufügen.

Der Nachteil dabei ist jedoch, dass man sich damit den Nutzen von gogs als issue- und bug-tracker ziemlich zunichte macht, da sich ja keiner einfach mal fix melden kann. Auch direktes kollaboratives Arbeiten über Forks und pull-requests ist dann für die Außenwelt nicht mehr möglich.

Variante 2: Erstellung neuer Repositories abschalten

Wenn man also die Registrierung offen lassen will, kann man gogs zumindest so konfigurieren, dass nur "handverlesene" Nutzer neue Repositories anlegen dürfen.

Dazu geht man wieder in die custom/app.ini und setzt den Wert MAX_CREATION_LIMIT in Block [repository] auf 0. Damit können alle Nutzer zunächst mal genau null eigene Repos anlegen. Danach geht man in gogs in die "Einstellungen / Admin panel" und ändert bei jedem Nutzer (der es verdient hat) das creation limit von -1 auf einen hohen Wert. Diese Nutzer können dann fröhlich repos anlegen, während Andere "nur" komentieren können oder einen Issue anlegen. Die Nutzer können jedoch weiterhin Forks von schon existierenden Repos anlegen, da das ja auch für die pull-requests benötigt wird.

Man kann auch gleich noch im Block [admin] den Wert DISABLE_REGULAR_ORG_CREATION auf "true" setzen. Dann bleibt es auch den Nutzern mit Admin-Status überlassen neue Organisationen anzulegen. Andernfalls könnte das nämlich auch jeder x-Beliebige.


Ich hoffe Mancher konnte die Info brauchen.

Bis die Tage, euer Max