← Alle Artikel
Open Source DevOps 12. März 2026 14 Min. Lesezeit

GitLab selbst hosten: DevOps ohne Cloud-Zwang

CI/CD-Pipelines, Container Registry, Issue Tracking - alles in einer Plattform. GitLab On-Premise gibt Ihnen volle Kontrolle über Ihren Code und Ihre Entwicklungsprozesse. Wir zeigen, wie Sie GitLab einrichten und sicher betreiben.

Viele Unternehmen nutzen GitLab.com oder GitHub für ihre Softwareentwicklung. Doch was, wenn sensible Projekte nicht in fremde Clouds gehören? Wenn Compliance-Anforderungen lokale Datenhaltung vorschreiben? Oder wenn Sie einfach die volle Kontrolle über Ihre DevOps-Infrastruktur behalten möchten? Die Antwort: GitLab Self-Hosted - die komplette DevOps-Plattform auf Ihren eigenen Servern.

Warum GitLab selbst hosten?

GitLab ist weit mehr als ein Git-Server. Die Plattform bietet eine integrierte DevOps-Lösung von der Projektplanung über Code-Management bis zum Deployment. Und das Beste: Die Community Edition (CE) ist vollständig Open Source und kostenlos nutzbar.

GitLab.com (Cloud)

  • Daten auf US-Servern
  • Abhängigkeit von GitLab Inc.
  • Monatliche Kosten pro User
  • Eingeschränkte Anpassbarkeit
  • CI/CD-Minuten begrenzt

GitLab Self-Hosted

  • Daten im eigenen Rechenzentrum
  • Volle Kontrolle und Unabhängigkeit
  • Keine laufenden Lizenzkosten (CE)
  • Unbegrenzte Anpassung möglich
  • Unbegrenzte CI/CD-Kapazität

Die wichtigsten Vorteile

  • Datensouveraenität: Ihr Code verlasst nie Ihre Infrastruktur - ideal für sensible Projekte und strenge Compliance
  • Kosteneffizienz: Keine User-basierten Gebühren, keine CI/CD-Minutenlimits - nur Ihre Serverkosten
  • Integration: Nahtlose Anbindung an interne Systeme wie LDAP, Active Directory oder bestehende Monitoring-Lösungen
  • Performance: Keine geteilte Infrastruktur, keine externen Latenzen - schnelle Builds auf dedizierter Hardware

Was GitLab alles kann

GitLab ersetzt nicht nur GitHub - es ersetzt ein ganzes Ökosystem von Tools. Eine Installation, alle Funktionen:

Git Repository Management

Branches, Merge Requests, Code Reviews, Protected Branches - alles was ein modernes SCM braucht.

CI/CD Pipelines

Automatisierte Builds, Tests und Deployments. YAML-basiert, flexibel, mit Parallelisierung und Caching.

Container Registry

Integrierte Docker Registry für Ihre Container Images - direkt aus der Pipeline pushen und pullen.

Issue Tracking

Boards, Milestones, Labels, Time Tracking - Projektmanagement direkt neben dem Code.

Security Scanning

SAST, DAST, Dependency Scanning, Container Scanning - Sicherheitsprüfung in der Pipeline.

Wiki & Dokumentation

Projektdokumentation direkt im Repository - versioniert und durchsuchbar.

Systemanforderungen

GitLab ist ressourcenintensiv - aber die Investition lohnt sich. Diese Hardware empfehlen wir für einen produktiven Betrieb:

Kleine Teams (bis 10 User)

4 CPU Cores, 8 GB RAM, 100 GB SSD. Ausreichend für Entwicklungsteams mit moderater CI/CD-Nutzung.

Mittlere Teams (10-50 User)

8 CPU Cores, 16 GB RAM, 500 GB SSD. Empfohlen für aktive Entwicklung mit regelmäßigen Builds.

Große Teams (50+ User)

16+ CPU Cores, 32+ GB RAM, NVMe Storage. HA-Setup mit separaten Runnern für CI/CD.

Tipp: Für größere Installationen empfiehlt sich die Trennung von GitLab-Server und CI/CD-Runnern. Die Runner können auf eigener Hardware oder in Containern laufen und skalieren unabhängig.

Installation Schritt für Schritt

GitLab bietet verschiedene Installationswege. Am einfachsten ist das Omnibus-Paket - eine All-in-One-Lösung mit allen Komponenten:

1. Repository hinzufügen und installieren

# GitLab Repository hinzufügen (Ubuntu/Debian) curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash # GitLab CE installieren sudo EXTERNAL_URL="https://gitlab.ihre-domain.de" apt-get install gitlab-ce

2. Grundkonfiguration

Nach der Installation finden Sie die Konfiguration unter /etc/gitlab/gitlab.rb. Die wichtigsten Einstellungen:

# Externe URL (mit HTTPS) external_url 'https://gitlab.ihre-domain.de' # SMTP für E-Mail-Benachrichtigungen gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "mail.ihre-domain.de" gitlab_rails['smtp_port'] = 587 # Backup-Einstellungen gitlab_rails['backup_keep_time'] = 604800

3. Änderungen anwenden

# Konfiguration neu laden sudo gitlab-ctl reconfigure # Status prüfen sudo gitlab-ctl status

Fertig! Nach wenigen Minuten ist GitLab unter Ihrer Domain erreichbar. Das initiale Root-Passwort finden Sie in /etc/gitlab/initial_root_password.

CI/CD-Runner einrichten

GitLab ohne CI/CD ist wie ein Auto ohne Motor. Die Runner führen Ihre Pipelines aus - und Sie haben volle Kontrolle darüber:

  1. Runner installieren: Auf einem separaten Server oder als Docker-Container
  2. Registrieren: Mit dem Token aus den GitLab Admin-Einstellungen
  3. Executor wählen: Shell, Docker, Kubernetes - je nach Anforderung
  4. Tags vergeben: Für gezielte Job-Zuweisung (z.B. "docker", "linux", "windows")
# Runner registrieren sudo gitlab-runner register \ --url "https://gitlab.ihre-domain.de" \ --registration-token "IHR_TOKEN" \ --executor "docker" \ --docker-image "alpine:latest" \ --description "Docker Runner" \ --tag-list "docker,linux"

Sicherheit und Haertung

Ein selbst gehostetes GitLab trägt Verantwortung - hier die wichtigsten Sicherheitsmaßnahmen:

  • HTTPS erzwingen: Let's Encrypt ist in GitLab integriert - nutzen Sie es
  • Regelmäßige Updates: GitLab veröffentlicht monatlich Security-Patches
  • Firewall: Nur Ports 22 (SSH), 80/443 (HTTP/S) nach außen öffnen
  • Backup: Automatisierte tägliche Backups mit Offsite-Kopie
  • 2FA: Zwei-Faktor-Authentifizierung für alle User aktivieren
  • LDAP/SSO: Zentrale Authentifizierung über Active Directory oder SAML

Backup-Befehl: sudo gitlab-backup create erstellt ein vollständiges Backup inklusive Repositories, Datenbank und Konfiguration. Testen Sie regelmäßig die Wiederherstellung!

Laufender Betrieb

GitLab braucht Pflege - aber der Aufwand haelt sich in Grenzen:

  • Updates: Monatliche Minor-Updates, jährliche Major-Upgrades. Immer erst in Staging testen
  • Monitoring: GitLab bringt Prometheus-Metriken mit - integrieren Sie diese in Ihr Monitoring
  • Log-Analyse: /var/log/gitlab/ enthält alle relevanten Logs
  • Speicherplatz: Container Registry und LFS können schnell wachsen - Retention-Policies einrichten

Fazit: Lohnt sich Self-Hosting?

GitLab selbst zu hosten ist kein Hexenwerk - aber auch kein Selbstläufer. Die Vorteile liegen klar auf der Hand: volle Datenkontrolle, keine laufenden Lizenzkosten und unbegrenzte CI/CD-Kapazität. Dafür braucht es initiale Einrichtung, regelmäßige Updates und ein Auge auf Sicherheit und Performance.

Für Teams, die bereits Linux-Server betreiben oder einen IT-Partner haben, ist der Aufwand überschaubar. Der größte Vorteil gegenüber der Cloud: Ihr Code bleibt bei Ihnen. Keine externen Abhängigkeiten, keine überraschenden Preisänderungen, keine Datenschutz-Bedenken.

Unser Tipp: Starten Sie mit einer kleinen Installation, sammeln Sie Erfahrungen und skalieren Sie bei Bedarf. GitLab wächst mit Ihren Anforderungen - und Sie behalten jederzeit die Kontrolle.

GitLab-Hosting ohne Aufwand?

Sie möchten GitLab nutzen, aber nicht selbst administrieren? Wir betreiben Ihre GitLab-Instanz auf dedizierter Hardware in deutschen Rechenzentren - Updates, Backups und Monitoring inklusive.