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:
- Runner installieren: Auf einem separaten Server oder als Docker-Container
- Registrieren: Mit dem Token aus den GitLab Admin-Einstellungen
- Executor wählen: Shell, Docker, Kubernetes - je nach Anforderung
- 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.