Titelbild Installation GitLab (KI generiert)

Schritt-für-Schritt Anleitung: GitLab auf einem Hetzner Cloud Server installieren

In diesem Blogartikel zeige ich dir, wie du GitLab auf einem Hetzner Cloud Server einrichtest. GitLab ist eine umfassende DevOps-Plattform, die alle Phasen des Softwareentwicklungszyklus abdeckt. Mit dieser Anleitung kannst du GitLab schnell und einfach auf deinem eigenen Server in der Hetzner Cloud installieren und konfigurieren.

Voraussetzungen

  • Hetzner Cloud Account
  • Reservierte Domain oder Subdomain
  • Grundkenntnisse in Linux und Netzwerkkonfiguration

Wenn du noch keinen Hetzner Cloud Account hast, kannst du dich über meinen Affiliate-Link registrieren und unterstützt damit meine Arbeit. (https://hetzner.cloud/?ref=ZeCyQ0E8D1Hd)

Schritt 1: Serverauswahl

Server Spezifikationen (Anforderungen):

  • Mindestens 4 GB RAM (empfohlen 8 GB oder mehr)
  • Mindestens 2 CPU-Kerne
  • Mindestens 20 GB SSD-Speicherplatz
  • x86_64- oder arm64-Architektur (GitLab unterstützt beide)

Server erstellen:

  1. Melde dich in deinem Hetzner Cloud Konto an.
  2. Klicke auf „Server erstellen“ und wähle die folgenden Einstellungen:
    • Standort: Falkenstein
    • Image: Debian 12
    • Typ: SharedvCPU – Arm64 (CAX11)
    • Networking: IPv4 & IPv6
    • SSH-Keys: Wähle deinen SSH-Key aus
    • Name: gitlab.meine-domain.de

Schritt 2: Server vorbereiten

Über SSH verbinden

Mit dem Server über SSH verbinden. Ich nutze dazu die PowerShell.

ssh root@<your_server_ip>

System aktualisieren

Im nächsten Schritt aktualisiere ich das Betriebssystem und installiere grundlegenden Pakete für GitLab.

sudo apt-get update && apt upgrade -y
sudo apt-get install -y curl openssh-server ca-certificates perl

Zusätzlich installiere ich noch Postfix, damit später auch E-Mails versendet werden können. Es sind auch noch andere Möglichkeiten in der GitLab Dokumentation beschrieben.

sudo apt-get install -y postfix

Bei der Konfiguration wähle ich Internet Site aus und gebe den Domain Namen für meine GitLab Installation ein.

Schritt 3: Domain vorbereiten

In diesem Schritt erstelle ich den DNS-Record bei meinem Domainanbieter. Hierzu lege ich den A-Record für die IPv4-Adresse und den AAAA-Record für die IPv6-Adresse an. Die IP-Adressen finde ich in der Hetzner Verwaltungsoberfläche oder lese die Daten über die Console aus.

Dieser Schritt ist wichtig vor der Installation zu erledigen, damit die SSL Zertifikate korrekt erstellt werden können.

In diesem Schritt erstellen wir die DNS-Records bei deinem Domainanbieter. Dazu legen wir einen A-Record für die IPv4-Adresse und einen AAAA-Record für die IPv6-Adresse an. Die IP-Adressen findest du in der Hetzner Verwaltungsoberfläche oder kannst sie über die Konsole auslesen.

  1. IP-Adressen finden:
    • Melde dich in deinem Hetzner Cloud Konto an.
    • Navigiere zu deinem Server und notiere die IPv4- und IPv6-Adressen.
  2. DNS-Records erstellen:
    • Melde dich bei deinem Domainanbieter an.
    • Erstelle einen A-Record für die IPv4-Adresse:
      • Typ: A
      • Name: gitlab.meine-domain.de
      • Wert: Deine IPv4-Adresse
    • Erstelle einen AAAA-Record für die IPv6-Adresse:
      • Typ: AAAA
      • Name: gitlab.meine-domain.de
      • Wert: Deine IPv6-Adresse

Dieser Schritt ist wichtig, um sicherzustellen, dass die SSL-Zertifikate korrekt erstellt werden können. Achte darauf, dass die DNS-Änderungen vollständig propagiert sind, bevor du mit der Installation fortfährst.

Schritt 4: GitLab installieren

GitLab Version auswählen

Zunächst wählst du die gewünschte GitLab Version aus. In diesem Beispiel wählen wir die Enterprise Edition (EE). Alternativ kannst du auch die Community Edition (CE) verwenden, falls du keine zusätzlichen Funktionen der EE benötigst.

GitLab Repository hinzufügen

Füge das offizielle GitLab-Repository hinzu, um die neueste Version von GitLab zu installieren. In diesem Beispiel verwenden wir die Enterprise Edition (EE).

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

GitLab installieren

Installiere GitLab und gib dabei deine Wunschdomain an. Dadurch wird die Domain direkt in der Konfiguration festgelegt und es sind keine weiteren Anpassungen notwendig.

sudo EXTERNAL_URL="https://gitlab.meine-domain.de" apt-get install gitlab-ee

Administrator Passwort auslesen

Nach der Installation setzt GitLab ein initiales Administrator Passwort, das 24 Stunden lang ausgelesen werden kann. Um dich gleich anmelden zu können, kannst du das Passwort wie folgt auslesen:

cat /etc/gitlab/initial_root_password

Speichere das angezeigte Passwort sicher, da du es für die erste Anmeldung im GitLab-Webinterface benötigst.

Damit ist die Installation von GitLab abgeschlossen und du kannst dich über deine angegebene Domain https://gitlab.meine-domain.de im GitLab-Webinterface anmelden.

Schritt 5: GitLab Installation abschließen

Nachdem die Installation abgeschlossen ist, kannst du dich als Administrator mit dem Benutzernamen root und dem zuvor ausgelesenen Passwort anmelden. Gehe dazu auf deine GitLab-Domain (https://gitlab.meine-domain.de).

  1. Anmelden:
    • Benutzername: root
    • Passwort: (das zuvor ausgelesene Passwort)
  2. Passwort ändern:
    • Ändere das Passwort sofort nach der ersten Anmeldung unter den Profileinstellungen.

Die Zwei-Faktor-Authentifizierung (2FA) werde ich zu einem späteren Zeitpunkt für zusätzliche Sicherheit beim Administrator aktivieren.

Schritt 6: Firewall aktivieren

Um die Sicherheit deines GitLab-Servers zu erhöhen, aktiviere die Firewall in der Hetzner Cloud Konsole. Hier eine Übersicht der benötigten Ports:

PortProtokollAnmerkung/Funktion
80TCPHTTP
443TCPHTTPS
22TCPSSH
8065TCPGitLab Mattermost (optional)
5050TCPGitLab Registry (optional)
GitLab Ports

Firewall-Regeln in Hetzner Cloud konfigurieren

  1. Hetzner Cloud Konsole öffnen:
    • Melde dich in deinem Hetzner Cloud Konto an und gehe zur Projektübersicht.
  2. Firewall erstellen:
    • Navigiere zum Abschnitt „Netzwerke“ und erstelle eine neue Firewall.
  3. Regeln hinzufügen:
    • Füge die oben genannten Regeln hinzu, um den eingehenden Datenverkehr für die entsprechenden Ports zu erlauben.
  4. Firewall mit Server verknüpfen:
    • Verknüpfe die erstellte Firewall mit deinem GitLab-Server.

Fazit

Die Installation von GitLab auf einem Hetzner Cloud Server ist einfach und unkompliziert. Mit den richtigen Einstellungen und Sicherheitsmaßnahmen kannst du eine sichere und zuverlässige Entwicklungsplattform einrichten. Weitere Einstellungen und Optimierungen werde ich in einem zukünftigen Beitrag behandeln.

Links

Schreibe einen Kommentar

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