Gittea (aka Gitea): Dein eigener Git-Server in leicht
Gittea – korrekt heißt das Projekt Gitea – ist eine schlanke, selbst gehostete GitHub-Alternative. Du bekommst einen schnellen, einfach zu betreibenden Git-Server mit Weboberfläche, Pull Requests, Issues, Wiki und mehr. Perfekt für Teams, Agenturen, Solo-Entwickler oder Bildungseinrichtungen, die Kontrolle über ihren Code behalten möchten.
Warum Gittea?
- Schnell und ressourcenschonend: Läuft gut auf kleinen Servern oder NAS.
- Einfache Einrichtung: In Minuten startklar, besonders mit Docker.
- Datenhoheit: Dein Code bleibt auf deiner Infrastruktur.
- Voll ausgestattet: Repositories, Pull Requests, Issues, Releases, Wiki.
- Flexibel: SSH/HTTPS, Webhooks, API, Integrationen für CI/CD.
Mehr Infos: https://gitea.io
Features im Überblick
- Repositories mit Git über HTTPS und SSH
- Pull Requests mit Code-Review, Branch-Regeln und Schutz
- Issue-Tracker, Labels, Milestones, Projekte (Kanban)
- Wiki und Releases pro Repository
- Benutzer, Teams, Organisationen und Rechteverwaltung
- Webhooks und REST-API für Integrationen
- Paket-Registry (optional) und Container Registry
- CI/CD-Optionen: Gitea Actions oder externe Tools (z. B. Drone, Jenkins)
- Single Sign-On/LDAP/OAuth (optional)
- Backups per Datendump oder Dateisicherung
Dokumentation: https://docs.gitea.com/
Gittea installieren (Docker-Variante)
Am einfachsten startest du Gittea mit Docker und Docker Compose.
1) Ordner anlegen:
mkdir -p ~/gitea && cd ~/gitea
2) Datei docker-compose.yml erstellen:
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ./gitea:/data
ports:
- "3000:3000" # Web
- "2222:22" # SSH
restart: always
3) Starten:
docker compose up -d
4) Aufrufen: http://localhost:3000
Beim ersten Start führt dich ein Assistent durch die Einrichtung. Für Einsteiger reicht SQLite als Datenbank völlig aus. Lege einen Admin-Account an und schon bist du drin.
- Docker-Image: https://hub.docker.com/r/gitea/gitea
- Installationsvarianten (Linux, Binary, Helm Chart): https://docs.gitea.com/installation
Reverse Proxy und HTTPS
Für Produktion solltest du HTTPS nutzen. Typische Varianten:
- Traefik oder Caddy mit automatischem Let’s Encrypt
- Nginx/Apache als Proxy vor Gitea
Beispiel (Traefik, stark vereinfacht): Domain auf den Server zeigen, Traefik als Proxy betreiben, Gitea per Labels veröffentlichen. Anleitung: https://docs.gitea.com/installation/install-with-docker#reverse-proxy-configuration
Repository anlegen und verbinden
1) In Gitea ein neues Repository erstellen.
2) Lokal dein Projekt initialisieren:
git init
git add .
git commit -m "Initial commit"
git remote add origin https://dein-gittea.example.com/benutzer/projekt.git
git push -u origin main
Tipp: Vergiss nicht, main oder master konsistent zu nutzen.
SSH statt HTTPS
SSH ist komfortabel, wenn du häufig pushst:
- Lade deinen SSH-Key in deinem Gitea-Profil hoch.
- Verbinde das Repo z. B. mit:
git remote set-url origin ssh://git@dein-gittea.example.com:2222/benutzer/projekt.git
Typische Workflows in Gittea
- Feature-Branch erstellen, Änderungen pushen
- Pull Request (PR) öffnen, Reviewer zuweisen
- Code-Review, Kommentare, Status-Checks
- PR mergen (Merge, Squash oder Rebase)
- Issues verknüpfen: “Fixes #42” im Commit/PR-Text schließt das Issue automatisch
Branch-Schutzregeln helfen, Qualität zu sichern: z. B. “PRs benötigen Review” oder “Status-Checks müssen grün sein”.
CI/CD mit Gittea
Optionen:
- Gitea Actions: GitHub-Actions-ähnliche Workflows direkt in Gitea.
- Externe Systeme via Webhook: z. B. Drone CI, Jenkins, GitLab Runner oder GitHub Actions (mit Mirror).
Startpunkt: https://docs.gitea.com/usage/actions und https://docs.gitea.com/usage/webhooks
Betrieb und Best Practices
- Backups: Sichere regelmäßig den Ordner /data oder nutze die integrierten Backup-Funktionen.
- Updates: Image aktualisieren und Container neu starten.
docker compose pull
docker compose up -d
- E-Mail einrichten: SMTP konfigurieren, damit Benachrichtigungen funktionieren.
- Benutzer und Teams: Organisationen nutzen, um Rechte sauber zu trennen.
- Sicherheit: Starke Passwörter/SSO, 2FA aktivieren, regelmäßige Updates.
- Monitoring: Logs im Blick behalten; optional Prometheus/Grafana integrieren.
Admin-Handbuch: https://docs.gitea.com/administration
Gittea vs. GitHub/GitLab
- Funktionsumfang: GitHub/GitLab bieten riesige Ökosysteme. Gitea konzentriert sich auf das Wesentliche und bleibt leichtgewichtig.
- Ressourcen: Gitea läuft schon auf kleinen VMs oder einem Raspberry Pi. GitLab braucht deutlich mehr.
- Kontrolle: Mit Gitea hostest du selbst. Keine Vendor-Lock-ins, volle Datenhoheit.
Häufige Fragen
-
Wie viel Leistung braucht Gittea?
-
Für kleine Teams reichen 1–2 vCPU, 1–2 GB RAM. Wächst das Team, skaliere mit.
-
Ist Gittea sicher?
-
Ja, bei korrekter Konfiguration: HTTPS, Updates, 2FA, Backups. Sicherheitsmeldungen beachten.
-
Kann ich von GitHub/GitLab migrieren?
-
Ja. Gitea kann Repos, Issues und PRs importieren. Import-Assistent nutzen.
Migration: https://docs.gitea.com/usage/migrations
Nützliche Links
- Website: https://gitea.io
- Doku: https://docs.gitea.com/
- Docker-Image: https://hub.docker.com/r/gitea/gitea
- Offizielle Gitea-Instanz (Code Hosting): https://gitea.com/
- Releases/Changelog: https://github.com/go-gitea/gitea/releases
Fazit
Wenn du einen schnellen, einfachen und dennoch mächtigen Git-Server suchst, ist Gittea/Gitea eine hervorragende Wahl. Die Installation ist unkompliziert, der Betrieb günstig, und du behältst volle Kontrolle über Code, Nutzer und Prozesse. Probier es aus – in wenigen Minuten läuft dein eigener GitHub‑ähnlicher Service.