Docker von Extern und HTTPS mit GitLab

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.464
Punkte für Reaktionen
4.618
Punkte
499
Was hast du denn anstatt dem "Z" geschrieben? Da muss der Pfad im Container hin. Wenn der fehlt, kannst du die Zeile auch komplett weglassen. Daher kommen wahrscheinlich auch die Auto-Mounts
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.552
Punkte für Reaktionen
733
Punkte
154
Die Automounts kommen, weil er nur
Code:
volumes:
    - /volume1/docker/gitlab/postgresql:/var/lib/postgresql:Z
drin stehen hat. Dies ist ${GITLAB_DATA_DIR}. Die anderen zwei hat er ja nicht angegeben.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.464
Punkte für Reaktionen
4.618
Punkte
499
Achso lol stimmt. Da steht ja tatsächlich der Pfad davor. Hab ich überlesen.
Ja, dann muss das :Z weg und die fehlenden beiden anderen Mounts mit aufgenommen werden.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.552
Punkte für Reaktionen
733
Punkte
154
Das :Z dürfte glaube ich nicht stören, auch wenn es bei Synology höchstwahrscheinlich deaktiviert/nicht vorhanden ist. Es müsste reichen, wenn er beide Mounts aufnimmt.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
:z bzw. :Z Das ist nur für RHEL-basierte Systeme relevant (dort sogar notwendig!).

Wenn ein Pfad als Volume im Dockerfile deklariert wird, dann wird für jedes dieser Verzeichnisse für da kein Volume gebunden wird ein anonymes Volume angelegt und gegen das Container Verzeichnis gemapped. Deswegen sind die meisten Image-Maintainer davon weggegangen Volumes im Dockerifle zu deklarieren.
 

xelarep

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
318
Punkte für Reaktionen
10
Punkte
18
Habt Nachsicht mit mir 😇 Ich hab das Ganze wie viel viel weiter vorne beschrieben Anfang 2018 als Erstlingswerk aufgesetzt. Das hat bisher prima funktioniert. Die fehlenden bind mounts habe ich erst jetzt mit Einsatz von Portainer und eurer Hilfe entdeckt...

Ja, warum nicht das offizielle GitLab Docker? Weil damals die Anleitung von @draegig für das sameersbn/gitlab prima funktionierte - wäre da nicht das leidige Update Thema ...

Wo 'biegt' man denn die fehlenden mounts jetzt hin? Wenn ich in https://github.com/sameersbn/docker-gitlab/blob/master/docker-compose.yml reinschaue, steht da nix drin - nur das data.
Die o.g.
Code:
VOLUME ["${GITLAB_DATA_DIR}",  "${GITLAB_LOG_DIR}","${GITLAB_HOME}/gitlab/node_modules"]
finde ich aber im 'Dockerfile'
also müsste ich sowas wie
YAML:
- /volume1/docker/gitlab/gitlab/logs:/var/log/gitlab
- /volume1/docker/gitlab/gitlab/node_modules:/home/git/gitlab/node_modules
in meinem docker-compose.yml für gitlab ergänzen, oder? Ich wills zumindest verstehen...
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.552
Punkte für Reaktionen
733
Punkte
154
Ja genau du musst die Mounts anpassen. Musst halt im Dockerfile gucken auf was du es Mappen musst
 

xelarep

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
318
Punkte für Reaktionen
10
Punkte
18
Kurzer Zwischenstand: das war nicht nur in gitlab selbst. Ausserdem 'fehlten' bindings für

YAML:
    - /volume1/docker/gitlab/redis/data:/data
für redis
und
YAML:
    - /volume1/docker/gitlab/postgresql/rundir:/run/postgresql
für postgresql

So langsam komme ich dahinter...
 

xelarep

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
318
Punkte für Reaktionen
10
Punkte
18
Ich frag mich gerade wieso du nicht das offizielle Docker Image nutzt...
[...]

So, nachdem mir zwischen dieser Frage und heute ja noch ein Umzug auf eine neue DS224+ 'dazwischen kam' und ich gerade einen Lauf und damit etwas Zeit übrig habe, habe ich mir diese Frage auch nochmal gestellt, und mich mal eingelesen. Gitea und gogs hab ich jetzt nicht mehr weiter verfolgt, Thematik ist ja ähnlich und mit Gitlab fühle ich mich wohl, und nutze auch nur Basisfunktionalität (Repo + Doku halt)...

Das offizielle Image scheint (inzwischen?) ja deutlich einfacher zu sein! Bevor ich mich am Wochenende blindlings ins nächste Abenteuer stürze:

Nach meinem Verständnis
  • brauche ich nur noch das generische gitlab-ce docker image, in dem ich nur die drei mnt Points zur Verfügung stelle worin dann die Konfiguration, Logs und Daten gesichert sind
  • es gibt keine externen Abhängigkeiten zu Datenbanken (PostgreSQL, redis etc.) wie bei sameersbn
  • Mailagent: konfiguriere ich in der docker-compose.yaml wie vorher auch
  • Zertifikate brauche ich erst mal nicht, da diese neuerdings mein Nginx Proxy Manager zur Verfügung stellt
Hab ich was vergessen/übersehen?

Meine 3-4 Projekte würde ich dann versuchen auf dem alten Server zu exportieren und dann zu importieren, schlimmstenfalls jedes einzelne Repo klonen und relocaten?

Bräuchte mal etwas mentale Unterstützung ;-)
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Hab ich was vergessen/übersehen?
https://docs.gitlab.com/ee/install/docker.html#configure-multiple-database-connections

Ich wäre mir nicht so sicher, dass es vorher komplizierter war. Da hat sich nur jemand die Mühe gemacht alle Optionen zusammenzusammeln und sie über eigene Parameter konfigurierbar zu machen. Jetzt muss man sich die Optionen selbst aus der Doku rausziehen. Ich bin auch großer Fan von Gitlab, aber im Homelab bevorzuge ich Forgejo, da es gerade mal 1/20 Ressourcenbedarf hat. Für Git-Repos, Wiki und Issue-Management ist es ausreichend. Das man in Gitlab Groups und beliebig Subgroups anlegen kann vermisse ich tatsächlich bei Forgejo, dort gibt es nur Organisation oder Benutzer und darin direkt die Repos. CI/CD ist bei Forgejo leider nicht so komfortabel wie bei Gitlab oder Github.
 


 

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