Docker von Extern und HTTPS mit GitLab

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Hallo Leute,

vor kurzem habe ich mir aus persönlichen und geschäftlichen Gründen eine Synology DS716+ gekauft und bin mit der DS an sich vollsten's Zufrieden.

Ich bin im Moment wirklich am verzweifeln, da einer meiner wichtigeren Anschaffungsgründe(GitLab) nicht gelingen will... :mad:

--
Da ich als Entwickler arbeite habe ich mich schon riesig auf ein System gefreut, welches auch mit Docker ausgestattet ist.

Mein System läuft unter der neusten DSM Version: DSM 6.0-7321 Update 4
Das System läuft über HTTPS mit einem SSL Zertifikat von Let's Encrypt und ist von Extern mit einer DynDNS-Domain erreichbar.

Installierte Pakete(über das Paket-Zentrum):
  • Docker
  • GitLab
  • MariaDB
  • Anitvirus Essential
  • Download Station
  • Medienserver
  • Photo Station
  • Php 5.6
  • Protokoll-Center
  • Video Station
  • WebDAV Server
Allgemein: Zugriff von Extern

Meine DS kann ich im allgemeinen von außen erreichen:
https://meinedomain.de:0000/
Hier laufen mehrere Dienste einwandfrei: WebDav, PhotoStation usw.

Problem:
Sinnvoll und wichtig ist es für mich GitLab irgendwie unter SSL laufen zu lassen das gelingt mir jedoch nicht.:mad::mad::mad:
Ich habe GitLab mehrere Male neu installiert um meinen Fehler zu finden.

GitLab Einstellungen:
1Eintrag:
  • Lokaler Port: 30000
  • Container Port: 443
2Eintrag:
  • Lokaler Port: 30001
  • Container Port: 22
Umwelt:
  • SSL_SELF_SIGNED=true
  • GITLAB_HTTPS=true
  • GITLAB_HOST=localhost //habe hier auch schon die Domain von meiner DS eingetragen
  • GITLAB_PORT=30000"
  • GITLAB_SSH_PORT=30001
--
Diese Links habe ich bereits ausprobiert und zur Hilfe genommen.

http://stackoverflow.com/questions/31791247/enable-ssl-on-gitlab-with-docker-on-synology-nas,
https://github.com/sameersbn/docker-gitlab#enabling-https-support
http://serverfault.com/questions/691636/synology-dsm-5-2-gitlab-with-docker-ssl-connection-error

Ich weiß grob was Docker macht, es kann allerdings sein das ich das ganze Konzept und die Funktionsweise von Docker nicht ganz kenne.
Es wäre toll, wenn mir das jemand erklären könnte.

Mit freundlichen Grüßen

Alex
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
895
Punkte
424
Und woran hakt es nun genau?
Läuft der Container nicht?
Funktioniert nur der Zugriff von außen nicht ? Welche Adressen verwendest du?

Edit: Let's Encrypt zählt doch eigentlich nicht als Self-Signed, ist ja schließlich von einer offiziellen CA unterschrieben.
 
Zuletzt bearbeitet:

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Ich greife mit den Einstellungen aus meinem ersten Beitrag auf GitLab zu und erhalte:
https://192.168.178.xx:30000/
ERR_SSL_PROTOCOL_ERROR

Wenn ich den Port von GitLab an die Domain meiner DS hänge erhalte ich ebenfalls den gleichen Fehler:
https://meinedomain.de:30000/
ERR_SSL_PROTOCOL_ERROR
(Link: http://serverfault.com/questions/691636/synology-dsm-5-2-gitlab-with-docker-ssl-connection-error)

Eigentlich läuft die DS ja unter Let's Encrypt. Für den Container habe ich mit folgender Anleitung ein SSL-Zertifikat erstellt und eingebaut:
Link: http://stackoverflow.com/questions/31791247/enable-ssl-on-gitlab-with-docker-on-synology-nas

Wenn man das ganze mit dem Let's Encrypt Zertifikat der DS zum laufen bringt wäre ich nicht abgeneigt.

Hier ein Test, ob GitLab überhaupt funktioniert

Wenn ich folgende Einstellungen setze, ist der Container ohne HTTPS unter http://192.168.178.xx:30000 erreichbar:

GitLab Einstellungen:
Lokaler Port: 30000
Container Port: 80
SSL_SELF_SIGNED=false
GITLAB_HTTPS=false
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
895
Punkte
424
ok, bleiben wir erstmal lokal.
Du greifst per 30000 zu, was ja innerhalb des Containers auf 443 landen sollte und kannst per http zugreifen, wo dort eigentlich nur ein https lauschen sollte (meinem Verständnis nach)

Hast du die Web Station installiert? SSL Einstellungen finden sich nicht nur unter Systemsteuerung > Netzwerk, sondern auch Systemsteuerung > Webdienste.

Ich vermute, du mußt das Zertifikat noch in den Container bringen
 

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Um diesen Beitrag etwas sinnvoller zu gestalten habe ich meine Beiträge überarbeitet, sonst müssen Leute sich den ganzen Sachverhalt durchlesen statt einmal den Verlauf.

An Alle: Hiermit möchte ich mich für den schlechten Beitragstitel entschuldigen! Tut mir Leid!
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Ist dir aufgefallen, dass Du bei dem Port-Mapping jeweils andere Ports als Container-Ports hast, als Du dann mittels GITLAB_*PORT konfigurierst?
Die müssen schon zusammen passen. Bei GITLAB_PORT hast Du zusätzlich noch das Zeichen " zu viel.

Entweder passts Du deine Container-Ports an, oder passt die GITLAB_*PORT an.

Ah: ein Zertifikatsproblem. Dir ist klar das dein Zertifikat auf deine Dyndns-Adresse ausgestellt sein muss oder? Und genau diese dann als CN eingetragen sein muss in deinem Zertifikat? Demnach müsste es eigentlich klappen das DSM und Gitlab mit demselben Zertifikat arbeiten können. Allerdings musst Du dann IMMER über diese URL zugreifen. Falls bei deinem Zertifikat erlaubt ist einen Alias mit anzugeben, kannst Du versuchen den Hostname bzw. fqdn deiner anderen Zugriffs-URLs als Alias anzugeben.

Falls das nicht gehen sollte: bräuchtest Du theoretisch für jede Zugriffs-URL ein Zertifikat... Da Gitlab Tomcat verwenden müsste, kannst Du versuchen die zusätzlichen Zertifikate in den verwendeten Key-Store mit aufzunehmen. Der ist entweder in der server.xml angegeben oder wird beim Start von Tomcat als Parameter angegeben...
 
Zuletzt bearbeitet:

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Hi,

Bei GITLAB_PORT hast Du zusätzlich noch das Zeichen " zu viel.
das " Zeichen ist nur hier im Forum ein Fehler :p

--

Ist dir aufgefallen, dass Du bei dem Port-Mapping jeweils andere Ports als Container-Ports hast, als Du dann mittels GITLAB_*PORT konfigurierst?
Die müssen schon zusammen passen.
Bei den Ports bin ich mir eben nicht sicher.
Die Standardwerte nach der Installation von GitLab sind folgende:
Eintrag 1: Lokaler Port 30000 mit dem Container Port 80
Eintrag 2: Lokaler Port 30001 mit dem Container Port 22
Umgebungsvariablen
GITLAB_HOST=localhost
GITLAB_PORT=30000
GITLAB_SSH_PORT=30001


Wenn ich alles auf den Standardwerten belasse kann ich GitLab über die IP aufrufen http://192.168.178.xx:30000/ und erhalte keinen einzigen Fehler. Nun ist es aber Ziel von Extern drauf zu kommen und mit der DynDNS-Domain statt einer IP zu arbeiten und das ganze soll über HTTPS laufen.
Deshalb habe ich bereits die Ports 30000 und 30001 in der in der Firewall der DS und meinem Router freigeschalten.

--
Entweder passts Du deine Container-Ports an, oder passt die GITLAB_*PORT an.
Test:
Lokaler Port auf 30000 und Container Port auf 30000
GITLAB_PORT=30000
Leider kein Erfolg!
--

Ah: ein Zertifikatsproblem. Dir ist klar das dein Zertifikat auf deine Dyndns-Adresse ausgestellt sein muss oder? Und genau diese dann als CN eingetragen sein muss in deinem Zertifikat? Demnach müsste es eigentlich klappen das DSM und Gitlab mit demselben Zertifikat arbeiten können. Allerdings musst Du dann IMMER über diese URL zugreifen. Falls bei deinem Zertifikat erlaubt ist einen Alias mit anzugeben, kannst Du versuchen den Hostname bzw. fqdn deiner anderen Zugriffs-URLs als Alias anzugeben.

Zertifikat:
Meine DS läuft unter der neusten DSM-Version 6 und ich habe meine Diskstation mit einem Let's Encrypt Zertifikat über den Wizard in der Systemsteuerung erstellt. Dieses Zertifikat läuft einwandfrei... jetzt ist nur noch die Frage wie man an der Stelle Docker mit ins spiel bringt.
Mein Zertifikat ist für die DynDNS-Adresse ausgestellt.
Was meinst du mit CN eintragen?

Hab eine Domain bei Strato und diese wird dann über eine FRITZ!Box an meine DS weitergeleitet.

Gerne möchte ich IMMER über diese URL zugreifen!(Das ist mein Ziel!)

Wie kann ich einen Alias mit einbringen? Hast du selber auch ein Zertifikat von Let's Enrcrpyt erstellt?


Ich habe bereits Folgende Umgebungsvariablen bei GitLab getestet:
GITLAB_HTTPS=true => In der Hoffnung das GitLab auch mit dem Let's Encrypt Zertifikat läuft
GITLAB_HOST=meinediskstation.meinedomain.de => oder auch schon die IP vom Server bzw. localhost
SSL_SELF_SIGNED=true => Hier habe ich dann ein eigenes SSL-Zertifikat über Open-SSL erstellt siehe folgenden Link(hier).

Hier wundere ich mich auch das folgender Befehl Ewigkeiten arbeit und zu keinem Ergebnis führt:
openssl dhparam -out dhparam.pem 2048

Ich habe hier versucht es über ein selbst-signiertes Zertifikat für Docker/GitLab zum laufen zu bringen, da ich mir gedacht hatte das GitLab ja in einem Container läuft und nicht auf die "äußere Schale" des Systems sprich auf das Let's Encrypt Zertifikat zugreifen kann.
Macht das Sinn?
...

Falls das nicht gehen sollte: bräuchtest Du theoretisch für jede Zugriffs-URL ein Zertifikat... Da Gitlab Tomcat verwenden müsste, kannst Du versuchen die zusätzlichen Zertifikate in den verwendeten Key-Store mit aufzunehmen. Der ist entweder in der server.xml angegeben oder wird beim Start von Tomcat als Parameter angegeben...

Hast du mir da irgendwie eine Anleitung?


Vielen vielen Dank für die Hilfe!
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Die Standardwerte nach der Installation von GitLab sind folgende:
Eintrag 1: Lokaler Port 30000 mit dem Container Port 80
Eintrag 2: Lokaler Port 30001 mit dem Container Port 22
Umgebungsvariablen
GITLAB_HOST=localhost
GITLAB_PORT=30000
GITLAB_SSH_PORT=30001
Wenn ich mir die Beschreibung auf GitHub anschaue, dann müssen tatsächlich die lokalen Ports dort agegeben werden. Damit sollte diese Konfig korrekt sein.
Wobei in den Beispielen nie der GITLAB_HOST mit angegeben wurde.

Zertifikat:
Mein Zertifikat ist für die DynDNS-Adresse ausgestellt.
Was meinst du mit CN eintragen?
CN = Common Name. Dieser MUSS identisch mit dem Domainnamen sein über den mittels HTTPS zugegriffen werden soll.
Da der bei dir schon auf die DynDNS-Adresse zeigt, sollte das passen.

Gerne möchte ich IMMER über diese URL zugreifen!(Das ist mein Ziel!)
Würde dann auch nicht anders gehen oder den Browser dazu bringen Zertifikatsfehler anzuzeigen :)

Wie kann ich einen Alias mit einbringen? Hast du selber auch ein Zertifikat von Let's Enrcrpyt erstellt?

Nope, nie benutzt. Kenne nur andere CA's.



SSL_SELF_SIGNED=true => Hier habe ich dann ein eigenes SSL-Zertifikat über Open-SSL erstellt siehe folgenden Link(hier).
Sorgt vermutlich dafür das keine Chain-of-Trust überprüfung des Zertifikats stattfindet. Hier kann ich nur raten, da es auch aus GitHub nicht klar hervorgeht.

Hier wundere ich mich auch das folgender Befehl Ewigkeiten arbeit und zu keinem Ergebnis führt:
openssl dhparam -out dhparam.pem 2048
Der Schritt ist Optional.

Ich habe hier versucht es über ein selbst-signiertes Zertifikat für Docker/GitLab zum laufen zu bringen, da ich mir gedacht hatte das GitLab ja in einem Container läuft und nicht auf die "äußere Schale" des Systems sprich auf das Let's Encrypt Zertifikat zugreifen kann.
Macht das Sinn?
Kannn man schon machen. Beim Zugriff auf die UI hast Du im Browser dann nur den Hinweis mit dem ungültigen Zertifikat.

.

ist dir diese Zeile hier aufgefallen:
--volume /volume1/docker/gitlab/:/home/git/data \

Dort wird das Verzeichnis /volume1/docker/gitlab/ im Container unter /home/git/data eingeblendet.
Sprich, wenn Du Daten in den Container reinbekommen willst, dann liegen sie dort unter /home/git/data.


Du verwendest übrigens folgendes Docker-Image: https://github.com/sameersbn/docker-gitlab
In dem Abschnitt "SSL" und den darauf folgenden ist gut beschrieben wie ein Zertifikat eingebunden wird.

Dockerhub schrieb:
  • GITLAB_HOST: The hostname of the GitLab server. Defaults to localhost
  • GITLAB_PORT: The port of the GitLab server. This value indicates the public port on which the GitLab application will be accessible on the network and appropriately configures GitLab to generate the correct urls. It does not affect the port on which the internal nginx server will be listening on. Defaults to 443 if GITLAB_HTTPS=true, else defaults to 80.
  • GITLAB_SSH_HOST: The ssh host. Defaults to GITLAB_HOST.
  • GITLAB_SSH_PORT: The ssh port number. Defaults to 22.
  • GITLAB_HTTPS: Set to true to enable https support, disabled by default.
  • SSL_SELF_SIGNED: Set to true when using self signed ssl certificates. false by default.
  • SSL_CERTIFICATE_PATH: Location of the ssl certificate. Defaults to /home/git/data/certs/gitlab.crt
  • SSL_KEY_PATH: Location of the ssl private key. Defaults to /home/git/data/certs/gitlab.key
  • SSL_DHPARAM_PATH: Location of the dhparam file. Defaults to /home/git/data/certs/dhparam.pem

Das sind die Ausgaben vom DockerHub. Die Angaben in Kursiv entsprechen den relativen Pfaden die auch im Fileshare vorhanden sein müssen.
 
Zuletzt bearbeitet:

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Vielen Dank für deine Antwort! :)

Ich hab mir das alles genau angeschaut und Schritt für Schritt ausprobiert... Leider bisher ohne erfolg!

Versuch 1.

Einstellungen:

Eintrag 1: Lokaler Port 30000 mit dem Container Port 443
Eintrag 2: Lokaler Port 30001 mit dem Container Port 22
Umgebungsvariablen
GITLAB_HTTPS=true
GITLAB_HOST=localhost
GITLAB_PORT=30000
GITLAB_SSH_PORT=30001

Leider nicht...

Versuch 3.
Einstellungen(neu)
SSL_SELF_SIGNED=true


Ich habe einen Ordner mit dem Namen "certs" unter /home/git/data/certs/ erstellt.
Mit der Anleitung habe ich ein selbst-signiertes Zertifikat mit OpenSSL erstellt! Ich habe darauf geachtet das ich keine eigenen Namen verwende und mich ganz genau an die Anleitung halte.


Versuch 3.
GITLAB_HOST=meine.domain.de


Ich vermute das es einfach nicht funktioniert siehe hier.

Viele Grüße
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Ist natürlich blöd, wenn die Weitergabe von Ports mit HTTPS insgesammt nicht funktionieren sollte..

Wobei es mich schon wundern würde, wenn HTTPS Ports anders behandelt werden als x-beliebige Ports.

Hintergrund:
Ich weiß nicht wie Docker die Ports "exposed", denkbar sind dabei folgende Varianten:

1. (Echtes) Portforwarding mit Ip-Tables
2. Remote-Portfrowarding mit SSH
3. Reverse-Proxy mit Nginx oder Apache Webserver

3 kann es nicht sein, da dann nur Ports für Webanwendungen (=Zugriff über Browser) weitergeleitet werden könntweiterleiten könnte.
Damit bleiben nur noch Variante 1 und 2. Beide müssten die Pakete aber weiterleiten ohne dabei den SSL-Kontext zu unterbrechen (und dabei Man-in-the-middle zu spielen) und einen neuen aufzubauen.

Alles in allem würde es mich wundern wenn HTTPS prinzipiel nicht geht.


Was mich an der Stelle wundert ist, dass beim direkten Zugriff HTTP möglich ist, obwohl dieser mittel GITLAB_HTTPS=true auf HTTPS gesetzt wurde und bei dir sogar auf den HTTPS-Port zeigt. Nach meinem Verständnis dürfte das nicht sein. Es ist ein Problem das innerhalb(!) des Containers stattfindet...

Btw: der von dir gepostet Link steht mitlerweile auf solved: https://forum.synology.com/enu/viewtopic.php?t=116035#p434116
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Ich habe mir von der Dockerhub-Seite mal das Docker-Compose.yml runtergeladen und die Volumes entsprechend angepasst und mit Docker-Compose up hochgefahren. Unter Container kann ich nun 3 Docker-Container laufen sehen (gitlab, postgresql und redis).

Der Zugriff über HTTP funktioniert ohne Problem.


Dann wollte ich den HTTPS-Zugriff testen: dazu habe ich Zertifikat in /docker/gitlab/certs nach Anleitung aus dem Lösungs-Post kopiert und GITLAB_HTTPS=true im Docker-Compose.yml eingetragen. Nun klappt weder der HTTP nocht der HTTPS Zugriff. Der HTTPS-Ports scheint gar nicht erst zu reagieren und der HTTP-Port will das Protkoll direkt auf https ändern unter beibehaltung des HTTP-Port, was natürlich nicht klappen kann.

Entweder stimmt etwas mit den Zertifkaten nicht ich habe die PEM-Dateien entsprechend dem Lösung-Posts umbenannt) oder prinzipiel etwas mit dem Image nicht.

Das mit dem Zertifikat werde ich mir heute Abend anschauen. Die PEM-Dateien können mit openssl in das benötigte Zielformat transformiert werden.

Update:
aus den Logdatien schrieb:
Updating CA certificates...
Installing configuration templates...
SSL keys and certificates were not found.
Assuming that the container is running behind a HTTPS enabled load balancer.

Innerhalb des Containers kann ich sehen das die Dateien gitlab.crt und gitlab.key im Verzeichnis /home/git/data//certs/ liegen.
Laut Dockerhub ist das der Standardpfad für diese Dateien...

Update2:
Ich habe jetzt zusätzlich noch zusätzlich dhparam.pem erzeugt und dann alle Dateien in certs dem user root zugeordet und die Zugriffsrechte auf 400 gesetzt. Nun erscheint die Fehlermeldung nicht mehr. Aber: es geht immer noch nicht.
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Lösung:

Die Let's Encrypt it Dateien folgend aufbereiten
Rich (BBCode):
cat cert.pem fullchain.pem> gitlab.crt  
mv privkey.pem gitlab.key
Diese müssen dann im Verzeichnis /docker/gitlab/certs liegen

(Quelle: https://www.behnke.io/setting-up-lets-encrypt-on-docker-gitlab/)

Zusätzlich MUSS(!) dhparm.pem erzeugt werden (obwohl es als optional auf github angegeben ist), da ansonsten die Zertifikate nicht erkannt werden.
Rich (BBCode):
openssl dhparam -out dhparam.pem 2048

verwendete Umgebungsvariablen:
- GITLAB_HTTPS=true
- GITLAB_HOST=localhost
- GITLAB_PORT=10443
- GITLAB_SSH_PORT=10022

verwendetes Port-Mapping::
- "10080:80"
- "10443:443"
- "10022:22"

Nicht wundern, ich habe abweichende Ports bei mir verwendet...

Ausgabe von netstat -an innerhalb des Docker-Containers:
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN

Jetzt wird dort Port 443 angezeigt. Genau der wurde vorher nicht angezeigt, sprich nxginx ist nie mit dem HTTPS-Port hochgekommen.

Update:
GITLAB_HOST={Dein DynDNS Name}

Ich hatte hier noch local eingetragen. Die Confirmation-Mail beim anlegen eines Benutzer hatte entsprechend den falschen Hostnamen im Link..
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Kleiner Hinweis noch:

Auf DockerHub ist das Docker-Image schon bei Version 8.7.3. Dank docker-compose ist die Einrichtung deutlich angenehmer, da man eine Datei hat, in der man die Einstellungen für alle notwendigen Container bequem vornehmen kann. Bei Änderungen kann man einfach docker-compose restart machen und die änderungen greifen schon :)


Schon von Gogs gehört/gelesen?
Es its eine ressourcenfreundliche alternative zu GitLab: https://hub.docker.com/r/gogs/gogs/

Mehr dazu: http://jbrodriguez.io/gogs-an-alternative-to-gitlab/
 
Zuletzt bearbeitet:

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
WOW, vielen vielen Dank für die Mühe!!!

Wie kann ich GitLab manuell unabhängig vom Paketzentrum mit Docker aufsetzen? Bin echt noch am Anfang mit Docker und kenne mich noch nicht so gut aus.

Docker-Compose: Installiere ich das dann auf meinem Mac als Beispiel und teste die einzelnen Images im Zusammenspiel bis die Umgebung einwandfrei arbeitet?

Wie kann ich die "Docker-Compose.yml" mit Synology Docker starten?
- Ich tue mir noch ein bisschen schwer mit dem Paket von Synology, in DSM 5.2 sah das alles noch anders aus...

--
Kannst du mir sagen wo meine Diskstation die Let's Encrypt Zertifikate ablegt, oder exportiert man das/die Zertifikat/e via Oberfläche?
(archive.zip; cert.pem; chain.pem; privkey.pem)
 
Zuletzt bearbeitet:

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Ich habe noch ein Verständnis-Problem.

Wenn ich mit "File-Station" von Synology auf meiner Diskstation in den Ordner von Docker gehe habe ich ja dort meinen GitLab Ordner.

Zum anderen habe ich:
Anwendung Docker > Container > synology_gitlab > Details > Terminal.
Wenn ich hier auf "Erstellen" klicke setzt er einen Eintrag "bash" unter den bestehenden Eintrag und ich kann via Terminal auf mein GitLab-Container.

Wie kann ich im Docker Terminal von GitLab etwas einfügen? (copy&paste; Mac) => gibt hier zwar eine Hilfe aber ich bekomme es nicht hin.

Wo lege ich den Ordner "certs" ab?
Wo genau muss ich was ablegen?
Wo führe ich den Befehl aus? "openssl dhparam -out dhparam.pem 2048"


Zum Thema gog:
Ich denke gog ist eine gute Alternative über die ich mir Gedanken machen sollte, wenn ich das ganze Thema besser verstehe.

Laut der Übersicht von GitLab (link) sollten sich ja einige Sachen abschalten lassen (z.B. Wiki). Vielleicht zerrt es dann nicht mehr so an den Ressourcen.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Gern geschehen. Wobei ich gestehen muss, dass ich das jetzt nicht extra nur für Dich aufgearbeitet habe :)
Ich wollte Gitlab auch schon lange betreiben nur hat mir immer der Impuls gefehlt.

Wenn ich hier auf "Erstellen" klicke setzt er einen Eintrag "bash" unter den bestehenden Eintrag und ich kann via Terminal auf mein GitLab-Container.

Wie kann ich im Docker Terminal von GitLab etwas einfügen? (copy&paste; Mac) => gibt hier zwar eine Hilfe aber ich bekomme es nicht hin.
Leider kann man in das Docker Terminal nichts per Copy&Paste kopieren.

Hiermit soltest Du von Deiner SSH-Shell auf die Shell vom Container kommen - da funktoniert dann wahrscheinlich auch copy&past.
Rich (BBCode):
 docker exec -ti $(docker ps | grep sameersbn/gitlab | cut -c 1-12) bash
Hinweis: $( ) liest die Container-ID des sameersbn/gitlab Containers aus.

Warum willst Du auf die Shell im Docker-Container?
Zum einbinden des Zertifikates brauchts Du keinen Shell Zugang.


Wo lege ich den Ordner "certs" ab?
Wo genau muss ich was ablegen?
Kannt Du die Einstellungen des Docker-Containers exportieren oder mir deinen Lokalen-Pfad für für den Container-Mount-Pfad /home/git/data nennen?
Dann weiß ich was Du verwendest und kann Dir dann weiterhelfen.


Wo führe ich den Befehl aus? "openssl dhparam -out dhparam.pem 2048"
Entweder auf der SSH Shell Deiner DSM oder auf OSX. Auf dem Mac ist es sicherlich schneller generiert. Am ende muss es ebenfalls in das gitlab/certs/ Verzeichnis.


Die Zertifikate die von der DSM verwendet werden, kannst du direkt auf der Zertifikat-Seite exportieren.
 

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Um über Docker > Terminal >Erstellen > bash etwas einzufügen habe ich unter WINDOWS gedrückt:

STRG + A und anschließend STRG + V

Nachdem man etwas eingefügt hat und man nochmal etwas einfügen möchte: Tastenkomination wie oben wiederholen.

Unter Mac keine Ahnung :)
 

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Was genau muss ich denn alles einstellen, wenn ich tatsächlich alles genauso wie du über das "Docker-Compose.yml" einbauen möchte?

Kannst du das bitte ein bisschen näher ausführen?

Zu deiner Frage:
MEIN GITLAB LÄUFT!!! YES DANKE

Trotzdem wäre es besser ich richte es gleich so ein das es sich immer das neuste zieht wie bei dir :)
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Um über Docker > Terminal >Erstellen > bash etwas einzufügen habe ich unter WINDOWS gedrückt:

STRG + A und anschließend STRG + V

Nachdem man etwas eingefügt hat und man nochmal etwas einfügen möchte: Tastenkomination wie oben wiederholen.

Unter Mac keine Ahnung :)

Neid, das hätte ich gerne. Bei mir funktioniert das leider nicht. Gehe deshalb immer über die Shell und docker exec -ti drauf.

Was genau muss ich denn alles einstellen, wenn ich tatsächlich alles genauso wie du über das "Docker-Compose.yml" einbauen möchte?

Kannst du das bitte ein bisschen näher ausführen?
Wenn das nicht so aufwändig wäre, würde ich das gerne tun. Aber Anleitungen schreiben ist schon auf der Arbeit nichts so mein Ding.
Auch da bastel ich lieber an Lösungen.

Ich würde den Ball gerne zurückspielen: nachdem Du das Problem kennts und nun bei Dir gelöst hast, wären andere Forums-User bestimmt dankbar für ein kleines Tutorial in dem Du die Lösung beschreibst ;)

Zu deiner Frage:
MEIN GITLAB LÄUFT!!! YES DANKE
Gratulation!
 

draegig

Benutzer
Mitglied seit
24. Okt 2014
Beiträge
22
Punkte für Reaktionen
1
Punkte
9
Ich schreibe gerne ein Tutorial! Man gibt und nimmt schließlich. Ich setze mich bald dran und schreibe es!

Nun doch nochmal zu DIR ;-)

Ich bin Web-Entwickler... ein bisschen was kann ich schon. Könntest du mir evtl. ein paar "Knochen" in form von Links hinwerfen?

Danke :D
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat