RackDiff
Alle Guides

GitLab CE selbst hosten: Mit KI zum eigenen Git-Server

GitLab Community Edition auf VPS installieren - mit KI-Prompts für schnelle Einrichtung. Docker Setup, CI/CD Pipeline, Troubleshooting.

Dirk Hesse
5. Februar 2026
7 Min. Lesezeit

GitHub kostet ab 4$/Seat für private Repos mit Actions. Bei 10 Entwicklern sind das 40$/Monat. GitLab Self-Hosted? Unbegrenzte User, unbegrenzte CI/CD Minutes, volle Datenkontrolle – für den Preis eines VPS.

Der Clou: Mit den richtigen KI-Prompts (Claude, ChatGPT) sparst du Stunden bei der Einrichtung. Statt Doku wälzen: Prompt kopieren, Server-Daten einfügen, fertige Befehle ausführen.

Dieser Guide zeigt dir GitLab CE Installation mit Docker – inklusive copy-paste KI-Prompts für jeden Schritt.


Hardware-Anforderungen

GitLab ist ressourcenhungrig. Die offizielle Empfehlung: 4 GB RAM Minimum, 8 GB für produktive Nutzung.

Team-GrößeRAMCPUStorageAnwendungsfall
Klein (1-10 User)4 GB2 vCPU50 GBHobby-Projekte, kleine Teams
Mittel (10-50 User)8 GB4 vCPU100 GBStartups, Agenturen
Groß (50-100+ User)16 GB8 vCPU200+ GBUnternehmen, viele Repos

Tipp: GitLab braucht viel RAM für Sidekiq (Background Jobs) und Gitaly (Git-Operations). Lieber mehr RAM als mehr CPU.

Server für GitLab gesucht?

Unser Kalkulator berechnet deine Anforderungen basierend auf Teamgröße und CI/CD-Nutzung.

GitLab Server-Kalkulator

Schritt 1: Server vorbereiten

Hier kommt der erste KI-Prompt. Kopiere ihn, ersetze die Platzhalter, und lass dir ein fertiges Setup-Script generieren:

Prompt: Server für GitLab vorbereiten
Ich möchte GitLab CE auf einem Ubuntu 24.04 VPS installieren. Der Server hat [X] GB RAM und [Y] CPU Cores. Bitte erstelle mir: 1. Ein Skript zur Server-Vorbereitung (Updates, Firewall, Swap) 2. Docker und Docker Compose Installation 3. Überprüfung ob alle Ports frei sind (80, 443, 22) Erkläre jeden Schritt kurz.

Manuelle Basis-Vorbereitung

Falls du es selbst machen willst:

# System aktualisieren
apt update && apt upgrade -y

# Firewall konfigurieren
ufw allow 22/tcp   # SSH
ufw allow 80/tcp   # HTTP
ufw allow 443/tcp  # HTTPS
ufw enable

# Docker installieren
curl -fsSL https://get.docker.com | sh
apt install docker-compose-plugin -y

Schritt 2: GitLab mit Docker Compose

Erstelle Verzeichnis und Konfiguration:

mkdir -p /opt/gitlab && cd /opt/gitlab
nano docker-compose.yml

Docker Compose Konfiguration:

version: '3.8'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: 'gitlab.deine-domain.de'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.deine-domain.de'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
        # Ressourcen-Optimierung für kleine VPS
        puma['worker_processes'] = 2
        sidekiq['concurrency'] = 10
    ports:
      - '80:80'
      - '443:443'
      - '2222:22'
    volumes:
      - gitlab_config:/etc/gitlab
      - gitlab_logs:/var/log/gitlab
      - gitlab_data:/var/opt/gitlab
    shm_size: '256m'

volumes:
  gitlab_config:
  gitlab_logs:
  gitlab_data:

Starten:

docker compose up -d

Hinweis: Der erste Start dauert 5-10 Minuten. GitLab konfiguriert sich intern.


Schritt 3: Erstes Login

Nach dem Start das initiale Root-Passwort auslesen:

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

Dann im Browser: https://gitlab.deine-domain.de

  • Username: root
  • Password: Aus dem obigen Befehl

Wichtig: Das initiale Passwort wird nach 24 Stunden gelöscht. Sofort ändern unter User Settings → Password.


Troubleshooting mit KI

GitLab-Fehler können kryptisch sein. Dieser Prompt hilft bei der Diagnose:

Prompt: GitLab Probleme lösen
Mein GitLab CE Container zeigt folgenden Fehler: [FEHLER HIER EINFÜGEN] Server-Info: - OS: Ubuntu 24.04 - RAM: [X] GB (davon [Y] GB frei) - Docker Version: [X] - GitLab Version: [X] Logs aus 'docker logs gitlab --tail 50': [LOGS HIER EINFÜGEN] Was ist die Ursache und wie behebe ich das?

Häufige Probleme

Container startet nicht (OOM):

# RAM-Verbrauch prüfen
docker stats gitlab
# Swap hinzufügen wenn nötig
fallocate -l 4G /swapfile && chmod 600 /swapfile
mkswap /swapfile && swapon /swapfile

502 Bad Gateway: GitLab braucht Zeit zum Starten. Warte 5-10 Minuten oder prüfe:

docker exec -it gitlab gitlab-ctl status

SSL-Zertifikat funktioniert nicht: Let's Encrypt braucht erreichbare Ports 80/443. Firewall prüfen!


CI/CD Pipeline Basics

GitLab CI/CD ist einer der Hauptgründe für Self-Hosting – unbegrenzte Pipeline-Minutes.

GitLab Runner installieren

Der Runner führt deine Pipelines aus. Am besten im gleichen Docker-Netzwerk:

# Zu docker-compose.yml hinzufügen
  gitlab-runner:
    image: gitlab/gitlab-runner:latest
    container_name: gitlab-runner
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - gitlab_runner_config:/etc/gitlab-runner

Runner registrieren:

docker exec -it gitlab-runner gitlab-runner register

Erste Pipeline erstellen

Lass dir eine Pipeline von der KI generieren:

Prompt: GitLab CI Pipeline generieren
Erstelle eine .gitlab-ci.yml für ein [SPRACHE/FRAMEWORK] Projekt. Anforderungen: - Build Stage: [z.B. npm install, go build] - Test Stage: [z.B. npm test, pytest] - Deploy Stage: [z.B. SSH zu Server, Docker push] Das Projekt verwendet [PACKAGE MANAGER]. Deployment-Ziel: [z.B. eigener VPS, Kubernetes, Docker Hub] Bitte mit Kommentaren erklären.

Beispiel für ein Node.js Projekt:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: node:20
  script:
    - npm ci
  cache:
    paths:
      - node_modules/

test:
  stage: test
  image: node:20
  script:
    - npm test
  dependencies:
    - build

deploy:
  stage: deploy
  image: alpine
  script:
    - apk add openssh-client
    - ssh user@server "cd /app && git pull && docker compose up -d --build"
  only:
    - main

Backup einrichten

Prompt: GitLab Backup-Strategie
Erstelle ein Backup-Konzept für meine GitLab Self-Hosted Installation. Setup: - GitLab CE in Docker - Daten in Docker Volumes - [X] GB Repos insgesamt - Backup-Ziel: [z.B. Hetzner Storage Box, S3, lokale Festplatte] Ich brauche: 1. Tägliches automatisches Backup 2. Aufbewahrung der letzten 7 Backups 3. Restore-Anleitung für den Notfall

Manuelles Backup:

docker exec -t gitlab gitlab-backup create

Backup-Dateien liegen in /var/opt/gitlab/backups/ (im Container).


GitLab.com vs Self-Hosted

AspektGitLab.com FreeGitLab Self-Hosted
Preis0$ (5 User Limit)VPS-Kosten (~10€/Monat)
CI/CD Minutes400/MonatUnbegrenzt
Storage5 GBVPS-Storage
Private ReposBegrenztUnbegrenzt
User5 (Free)Unbegrenzt
DatenstandortUS/EU CloudDein Server
UpdatesAutomatischManuell (docker pull)

Fazit: Ab 5 Usern oder bei DSGVO-Anforderungen lohnt sich Self-Hosting.


Fazit

Du hast jetzt einen eigenen GitLab-Server mit:

  • Unbegrenzten Usern und Repos
  • CI/CD ohne Minutenlimits
  • Voller Datenkontrolle

Der KI-Workflow: Bei Problemen oder neuen Features – Prompt kopieren, Kontext einfügen, Lösung bekommen. Spart Stunden an Dokumentation-Recherche.

Kosten: Ein VPS mit 8 GB RAM kostet ~10€/Monat. GitHub Team für 5 User: 19$/Monat. Die Rechnung ist klar.


Häufig gestellte Fragen

GitLab-Server mit Kalkulator finden

Berechne deine Anforderungen basierend auf Teamgröße und CI/CD-Nutzung. Direkter Preisvergleich aller Anbieter.

Zum GitLab Server-Finder

Passender VPS-Rechner

GitLab CE Self-Hosting: Die besten VPS 2026

Git-Server, CI/CD und Container Registry auf eigenem Server.

Zum VPS-Rechner

Verwandte Artikel