Synology und ddns

Meine Synology steht nun auch im Netz. Grundsätzlich geht es mir hier darum, einen eigenen Git-Server im Netz zu haben, der nach meiner Sicherungsstrategie am günstigsten abgesichert ist. Dabei möchte ich meine Projekte nicht über GitHub veröffentlichen bzw. soweit es von irgendeinem externen Dienstleister unabhängig sein.

Dabei möchte ich die NAS über eine eigene Domain erreichen, die direkt auf meine dynamische IP aufgelöst wird. Schön wäre es noch, den git-Server über eine eigene Subdomain zu erreichen.

Eigene Domain

Zuerst habe ich mir einen Domainnamen über inwx.de besorgt. Das geht unkompliziert und ist innerhalb von ein paar Minuten erledigt.

Wichtig ist nun, dass man für alle Subdomains die A-Records einträgt und die per default eingetragenen NS – Einträge entfernt.

DynDNS

Dafür gibt es verschiedene Möglichkeiten:

Man könnte den internen DynDNS – Dienst, der im DMS integriert ist, nutzen. Das hat aber mit dem Update-Dienst von inwx nicht funktioniert. Außerdem stellt inwx standardmäßig nur einen DDNS-Update-Dienst bereit.

Hier wird beschrieben, wie das ganze mit einem Update-Skript direkt in der Synology funktioniert. Das ist mir aber zu viel Gefrickel und nicht gerade anwenderfreundlich.

Für die Synology gibt es den community package hub. Dort wird der DDNS Updater 2 bereitgestellt, bei dem inwx bereits fix und fertig integriert ist.

Also habe ich das Repository eingerichtet und den Updater installiert. Anschließend inwx konfigurieren und auf das erfolgreiche Update der DNS-Einträge bei inwx warten.

Git – Gogs – oder?

Derzeit gibt es nicht viele selbst verwaltete Git-Weboberflächen, die es mit GitHub oder BitBucket aufnehmen können. Letztenendes kann man sich zwischen Gitea und Gogs entscheiden. Wobei Gitea ein Fork von Gogs ist, der mehr Funktionen mitbringt.

Die Entscheidung für Gogs fiel recht einfach: Auf der Suche nach einer Installationsanleitung bin ich auf das gogs-spk gestossen, was sich einfach im DSM installieren lässt.

Leider läuft es als Root-Nutzer, was so ziemlich gegen alle Sicherheitsprinzipien verstösst.

Gogs ist dann über den Port 3000 der Nas erreichbar und sollte dort fertig konfiguriert werden.

Portfreigaben

Das geht recht einfach über eine Portweiterleitung im Router, bei der die Ports 80 und 443 auf die Nas weitergeleitet werden.

SSL

Es versteht sich von selbst, dass der Webserver nur über SSL erreichbar sein sollte. Dazu stellt letsencrypt Zertifikate bereit, die sich auch sehr einfach über die Weboberfläche der Synology einrichten lassen. Dabei sollte man ein Zertifikat für die www-Seite und dann die Aliase für die Subdomains einrichten. Hierzu muss der Webserver der Nas aber bereits von außen erreichbar sein. Es sollten also die Portweiterleitungen im Router eingerichtet sein.

Wenn das Zertifikat fertig eingerichtet ist, muss es noch den Domain-Namen im DSM zugewiesen werden. Ansonsten wird das Standard-Synology-Zertifikat ausgeliefert, das für die eingerichtete Domain nicht gültig ist.

Reverse Proxy

Die Nas ist so eingerichtet, dass der Webserver auf den Standard-Ports 80 und 443 lauscht. Das DMS bringt eine Reverse – Proxy Konfiguration mit, bei der also der Port von Gogs (3000) auf einen Domain-Namen konfiguriert werden kann. Alternativ ist es möglich, für bestimmte Anwendungen einen Pfad anzugeben.

Das ganze geht im Anwendungsportal des DSM.