Gogs auf der Synology NAS installieren

Auf der Suche nach einer webbasierten Oberfläche für Git bin ich von Gitlab auf Gogs gestoßen.
Warum Gogs und warum nicht Gitlab? Zum einen wirkt es aufgeräumter dadurch übersichtlicher und leichter zu bedienen. Zum anderen ist es ressourcenschonender als Gitlab und somit perfekt für meine NAS. Bei Bedarf könnte es auf einem Raspberry Pi installieren werden.

Voraussetzungen

Um Gogs installieren zu können, müssen folgenden Anwendungen, auf der NAS bereits installiert sein:

  • php 5.6
  • WebDav
  • WebStation
  • phpMyAdmin
  • MariaDB
  • Docker (Hier wird Gogs als Container ausgeführt)

Installation

Wenn alle Anwendungen soweit laufen, öffnen wir das Terminal (Windows: Eingabeaufforderung (Command-Line)) und loggen uns via ssh, als admin auf der NAS an.

Laden das Gogs-Image herunter.

Erstellen einen Ordner für Gogs.

Starten Gogs.

  • -name = Definiert einen Namen für den Docker-Container
  • -p 10022:22 = Weist Docker an den Port 10022 zu öffnen und auf Port 22 zu mappen (dabei steht das p für publish)
  • -p 10080:3000 = Weist Docker an den Port 10080 zu öffnen und auf Port 3000 zu mappen, um auf das Web-Interface zugreifen zu können (dabei steht das p für publish)
  • -v /var/gogs:/data gogs/gogs = Verzeichnis in dem sich die zuvor generierten Ordner befinden (dabei steht das v für volume)

Mit Strg + c können wir den Prozess abbrechen. Wir wechseln in das Verzeichnis var/gogs. Wenn alles geklappt hat, sehen wir folgende Ordnerstruktur:

Bevor es weiter geht müssen wir Gogs wieder über die Web-Oberfläche von Synology starten. Dazu öffnen wir Docker und wechseln zu dem Reiter Container (1). Dort den entsprechenden Container (2) auswählen und über das Menü Aktion (3), Starten (4) auswählen.

Docker-Menü

Menü der Docker-Appliaktion

Wenn Gogs gestartet wurde, können wir die Installation im Browser aufrufen. Dazu den Hostname (Ip-Adresse oder Seiten URL) + den Port 10080 in die Adressleiste eingeben. Anschließend sehen wir die Installationsseite.

Im ersten Teil werden die Informationen für die Datenbank benötigt. Dazu wechseln wir zu der Synology Web-Oberfläche und öffnen phpMyAdmin (Bitte achtet darauf, dass die Anwendungen laufen (MariaDB, phpMyAdmin, php 5.6, WebDav, WebStation)). Beim erstmaligen Start meldet man sich mit dem Benutzer „root“ an – dieser hat kein Passwort. In phpMyAdmin legen wir eine Datenbank mit dem Namen gogs an.

Anmerkung: In der phpMyAdmin Übersicht links auf das Haus-Symbol (1) klicken, anschließend habt ihr die Möglichkeit über den Menüpunkt Benutzerkonto (2) dem root-Benutzer ein Passwort zu vergeben. Achtung: Dieser Benutzer existiert mehrmals, jeden dieser Benutzer-Instanzen muss ein Passwort gegeben werden, am besten für jeder Instanz das gleiche.
phpMyAdmin Control Panel

Control Panel von phpMyAdmin

Datenbankeinstellungen
In den Datenbank-Einstellungen tragt ihr dann die IP-Adresse ein, die zu phpMyAdmin führt (Ist die gleiche wie die, die zu eurer NAS führt), das Entscheidende dabei ist der Port 3306.

Anschließend noch die Benutzerdaten, für die Datenbank eintragen.

Gogs Datenbankeinstellungen

Datenbankeinstellungen für Gogs

Allgemeine Einstellungen
Name der Anwendung, wenn man Wert darauf legt kann man dort etwas wie „Firma – Gogs Service“ oder ähnliches eingeben, dieser Name erscheint später als Seitentitel. Die Einstellungen wurden vom System soweit korrekt vor ausgewählt, einzig die Einstellungen Domain und Anwendungs-URL sind interessant:

  • Domain: Hostname eintragen (Ip-Adresse der NAS oder Seiten URL)
  • Anwendungs-URL: http://<hostname>:10080
Gogs allgemeine Einstellungen

Allgemeine Einstellungen für Gogs im Web-Interface

Optionale Einstellungen
Es empfiehlt sich hier bereits einen Administrator fest zulegen, dazu Administrator Einstellungen öffnen und entsprechende Daten eingeben.

Gogs optionale Einstellungen

Optionale Einstellungen für Gogs über das Web-Interface

Nachtrag
In meiner Synology habe ich einen Zeitplan eingestellt, dieser sieht vor das die Synology abends herunterfährt und am nächsten Morgen wieder startet. Dabei ist mir aufgefallen, dass ich das System am nächsten Tag, nach der „Erst-Installation“ noch einmal installieren musste (Gogs-Website-Installation). Ein Blick in das Log brachte leider keinen Aufschluss darüber – warum, wieso, weshalb ich es einmal Neu-Installieren musste. Jedoch ist positiv zu erwähnen, dass seit diesem Zeitpunkt das System reibungslos läuft.

ManuZiD

/ Software Developer
Mein Name ist Emanuel, ich bin Web & App Entwickler/Designer. Leidenschaftlicher Entwickler, offen für neue coole Frameworks, Neuerungen und Techniken. Neben der Programmierung beschäftige ich mich gern mit Musik. Für die nötigen kreativen Anregungen sorgt das Fahrrad fahren (Mountainbike).

RSS-FeedRSS Feed abbonnieren


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.