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:
- Melde dich in deinem Hetzner Cloud Konto an.
- 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.
- IP-Adressen finden:
- Melde dich in deinem Hetzner Cloud Konto an.
- Navigiere zu deinem Server und notiere die IPv4- und IPv6-Adressen.
- 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
).
- Anmelden:
- Benutzername:
root
- Passwort: (das zuvor ausgelesene Passwort)
- Benutzername:
- 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:
Port | Protokoll | Anmerkung/Funktion |
---|---|---|
80 | TCP | HTTP |
443 | TCP | HTTPS |
22 | TCP | SSH |
8065 | TCP | GitLab Mattermost (optional) |
5050 | TCP | GitLab Registry (optional) |
Firewall-Regeln in Hetzner Cloud konfigurieren
- Hetzner Cloud Konsole öffnen:
- Melde dich in deinem Hetzner Cloud Konto an und gehe zur Projektübersicht.
- Firewall erstellen:
- Navigiere zum Abschnitt „Netzwerke“ und erstelle eine neue Firewall.
- Regeln hinzufügen:
- Füge die oben genannten Regeln hinzu, um den eingehenden Datenverkehr für die entsprechenden Ports zu erlauben.
- 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.