IT Projekte / Home Lab / Smart Home / Games

Allgemein, Docker, Proxmox, Raspberry Pi

GitLab unter Docker installieren

Wie installiere ich GitLab auf einem Raspberry Pi 4? Die Installation mittels Docker und die ersten Schritte, erkläre ich Dir in diesem Beitrag. GitLab ist eine Webanwendung zur Versionsverwaltung von Softwareprojekten auf der Basis von Git.

Du benötigst Folgendes:

  • Einen Raspberry Pi 4 oder einen anderen Computer
  • eine Linux Distribution. Zum Beispiel Debian
  • Docker installiert

Debian installieren
Raspberry Pi OS 64 Bit auf einem Raspberry Pi 4 installieren
Docker mittels Repository unter Debian installieren
Docker auf dem Raspberry Pi 4 installieren

!Achtung! Bedenke bitte keinen SSH Server zu installieren, da für diese Anleitung der Port 22 noch frei und nicht belegt sein darf.

1. Ordner anlegen

Zu Beginn erstellst Du eine neue Variable $GITLAB_HOME, welche direkt auf Deine neu angelegten Ordner zeigt. In diesem werden dann die Logs, Daten und Konfigurationen gespeichert. Stelle dabei sicher, dass der Ordner auch existiert und die benötigten Berechtigungen vergeben sind.

Für Linux Nutzer gibst Du folgenden Befehl ein:

export GITLAB_HOME=/srv/gitlab
Eine neue Variable anlegen.
Eine neue Variable anlegen.

Wenn Du macOS nutzt, dann gibst Du Deinen Nutzerordner an:

export GITLAB_HOME=$HOME/gitlab

An diesen Orten werden die Daten persistent gespeichert und mit Deinem Container gemountet / verbunden.

2. Docker installieren

Hier leite ich Dich zu einem meiner beiden Beiträge weiter, um entweder unter Debian mittels Repository oder auf einem Raspberry Pi per Skript Docker zu installieren.

Docker mittels Repository unter Debian installieren
Docker auf dem Raspberry Pi installieren

3. GitLab installieren

Du führst folgenden docker-run-Befehl aus, nach dem Du diesen an Deine Umgebung angepasst hast.

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ce:latest

Der Befehl wird im Hintergrund ausgeführt, da ein –detach / -d angegeben ist.
Der Hostname sollte von Dir entsprechend angepasst werden. Wenn zum Beispiel eine Fritz!Box bei Dir für Dein Netzwerk verantwortlich ist, kannst Du hier die Adresse gitlab.fritz.box angeben (gitlab kannst Du beliebig ändern, da es eine Sub-Domain ist.).

Darauf hin werden die entsprechenden Ports 80 (HTTP), 443 (HTTPS) und 22 (SSH) angegeben, für die einzelnen Protokolle.
Der Name des Containers und die Angabe, dass nach jedem Neustart der Container ebenfalls starten soll.

Die einzelnen Volumen werden allesamt auf den von Dir zuvor angelegten Ordner gemountet. Mit der Angaben shm-size gibst Du an, dass Dein Container nun 256 MB shared memory zugewiesen bekommen soll und nicht 64 MB, welche Standard sind.
Zum Ende gibst Du das Image von GitLab an, welches der Container nutzen soll.

Docker run ausführen.
Docker run ausführen.

Es kann eine gewisse Zeit dauern, bis Du Deinen GitLab-Server über Deinen Hostnamen als URL oder der IP-Adresse erreichen kannst.

4. GitLab einloggen

Damit Du Dich auch auf Deinem GitLab-Server einloggen kannst, benötigst Du noch ein Passwort. Dieses bekommst Du mit folgendem Befehl.

sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Zeige Dir das Passwort des root Nutzers an.
Zeige Dir das Passwort des root Nutzers an.

Du solltest das Passwort innerhalb der ersten 24 Stunden ändern, da die Datei und somit das Passwort dann gelöscht sind.

GitLab Startseite
GitLab Startseite

5. GitLab root Passwort ändern

Um jetzt das root Passwort ändern zu können, musst Du oben rechts über das Profil in die User Settings wechseln.
Hier wählst Du links den Reiter Password aus.

Passwort ändern
Passwort ändern

Wie Du sehen kannst, musst Du noch einmal das generierte Passwort eintragen, um dann ein eigenes vergeben zu können.

6. Neuen Nutzer anlegen

Wenn Du das Passwort vom root-Benutzer geändert hast, kannst Du Dir Deinen eigenen Nutzer anlegen und erstellen.

Hierzu gehst Du oben links auf das Menü, wählst das Admin-Menü aus und kannst dann im Dashboard oder auch über den Punkt Users einen neuen Benutzer anlegen.

Neuen Benutzer anlegen.
Neuen Benutzer anlegen.

Hierbei gibst Du den Namen, Benutzernamen und die E-Mail-Adresse, zum Passwort Reset an.

Accountdaten vergeben.
Accountdaten vergeben.

Den Punkt Access lasse ich unverändert, hier kannst Du aber entscheiden, ob und wie viele Projekte dieser Nutzer insgesamt anlegen darf. Ist dieser neue Benutzer von extern oder muss dieser sich verifizieren? Darf der Nutzer als Administrator agieren oder bekommt er nur die Standard-Berechtigungen?

Und zum Schluss, bevor der Account mit “Create User” erstellt und bestätigt wird, kann der Nutzer noch seine Accounts verlinken oder auch seine Webseite angeben.

Wenn Du keine E-Mail, mit der Passwortvergabe, erhalten hast, dann kannst Du im Anschluss auch über “Edit” das Passwort nachträglich eintragen.

Benutzer bearbeiten und das Passwort vergeben.
Benutzer bearbeiten und das Passwort vergeben.

Hier sind die Felder für die Passwortvergabe nun frei und können ohne weiteres ausgefüllt werden.

Wenn Du Dich dann mit dem neuen Benutzer anmelden möchtest, gelangst Du auf eine Seite, um Dir ein Passwort vergeben zu können. Dieses kennst dann auch nur Du als Benutzer.

Neues Passwort vergeben.
Neues Passwort vergeben.

7. Neues Projekt erstellen

Du hast Dich mit Deinem neuen Account eingeloggt und möchtest ein neues Projekt starten. Dann klicke hierfür einmal auf “Create a project”.

Erstelle ein neues Projekt.
Erstelle ein neues Projekt.

Hier kannst Du im nächsten Schritt auch schon auswählen, ob Du ein leeres Projekt, eins von einem Template erstellen oder eins importieren möchtest. Wir gehen hier den Weg des leeren Projektes.

Ein leeres Projekt erstellen.
Ein leeres Projekt erstellen.

Das neue Projekt kannst Du mit beliebigen Rechten und Vorkonfigurationen versehen.

Neues Projekt anlegen.
Neues Projekt anlegen.

Zu Beginn vergibst Du Deinem neuen Projekt einen Namen. Dieser wird ebenfalls an das Ende der URL angehangen.

Die Sichtbarkeit des Projektes kannst Du beliebig einstellen. Einmal darfst nur Du und jede weitere Person, der Du den Zugriff gewährst, Zugriff auf das Projekt haben.
Im zweiten “Internal” Schritt dürfen das Projekt alle Nutzer sehen, die nicht den Hacken extern gesetzt haben.
Und zu guter Letzt kannst Du das Projekt auch Public setzen, sodass alle das Projekt einsehen können.

Die Konfiguration des Projektes kannst Du noch so steuern, dass zum Beispiel eine README Datei automatisch mit erstellt wird.

Wenn Du alle Einstellungen vorgenommen hast, kann Dein erstes Projekt erstellt werden.

Titelbild von GitLab und Docker