Gitea oder Forgejo Docker-Installation, Repository-Verwaltung, CI/CD (Gitea Actions), SSH-Key-Konfiguration, Organisations- und Teamverwaltung, Mirror und Webhook.
Gitea und Forgejo sind quelloffene, leichtgewichtige, self-hosted Alternativen zu GitHub und GitLab. Sie können Git-Repositories auf Ihrem eigenen Server hosten, CI/CD-Pipelines ausführen und mit Ihrem Team an Code zusammenarbeiten. Forgejo ist ein community-fokussierter Fork von Gitea, und beide sind weitgehend miteinander kompatibel.
Gitea vs Forgejo
Merkmal
Gitea
Forgejo
Lizenz
MIT
GPL-3.0
Verwaltung
Unternehmensgestützt
Community-verwaltet
Kompatibilität
Referenzimplementierung
Gitea-kompatibel
Updates
Regelmäßig
Häufiger
Empfohlen für
Unternehmen
Community
Beide Projekte verwenden dieselbe docker-compose-Struktur; nur der Image-Name unterscheidet sich.
Systemanforderungen
Server mit Docker und Docker Compose
Mindestens 512 MB RAM (1 GB empfohlen)
PostgreSQL oder MySQL (empfohlen) oder SQLite
Port 22 oder benutzerdefinierter Port für SSH-Zugriff
In Gitea: Profil → Einstellungen → SSH/GPG-Schlüssel → SSH-Schlüssel hinzufügen
Clone via SSH
hljs bash
# Clone via SSH (Port 2222)
git clone ssh://git@git.example.com:2222/benutzer/repo.git
# Vereinfachung mit ~/.ssh/config
Host git.example.com
HostName git.example.com
User git
Port 2222
IdentityFile ~/.ssh/id_ed25519
# Nach der Konfiguration
git clone git@git.example.com:benutzer/repo.git
Organisation erstellen:
+ → Neue Organisation → Name und Sichtbarkeit
Team erstellen:
Organisation → Teams → Neues Team
- Berechtigungen: Eigentümer, Admin, Schreiben, Lesen
- Repository-Zugriff: Spezifisch oder alle
Mitglied einladen:
Team → Mitglieder → Benutzer hinzufügen
Mit Gitea/Forgejo auf REXE VPS-Servern können Sie die gesamte Code-Infrastruktur Ihres Teams verwalten. 1 GB RAM ist ideal für kleine bis mittlere Teams.
Häufig gestellte Fragen
Soll ich Gitea oder Forgejo verwenden?
Beide sind technisch fast identisch. Forgejo ist ein community-verwalteter Fork von Gitea und erhält häufigere Updates. Gitea kann für Unternehmensunterstützung oder kommerzielle Nutzung bevorzugt werden. Forgejo wird für diejenigen empfohlen, die community-fokussierte und freie Software bevorzugen. Beide sind mit denselben Clients und Tools kompatibel.
Ich kann mich nicht per SSH verbinden, erhalte 'Connection refused'.
Wenn SSH-Port als 2222 konfiguriert ist, müssen Sie den Port im git clone-Befehl angeben: ssh://git@git.example.com:2222/user/repo.git. Sie können einen Host-Eintrag zu ~/.ssh/config hinzufügen, um den Port automatisch zu verwenden. Überprüfen Sie, ob Port 2222 in der Server-Firewall geöffnet ist.
Mein Gitea Actions Runner erscheint offline.
Überprüfen Sie, ob der Runner-Container läuft: docker ps | grep runner. Stellen Sie sicher, dass der GITEA_RUNNER_REGISTRATION_TOKEN-Wert korrekt ist. Überprüfen Sie Runner-Logs: docker logs gitea-runner. Vergewissern Sie sich, dass die Gitea-Instanz-URL vom Runner aus erreichbar ist. Starten Sie den Container neu, um den Runner neu zu registrieren.
Ich kann keine großen Dateien (100 MB+) pushen.
Erhöhen Sie client_max_body_size in Nginx (z.B. 512M oder 1G). Fügen Sie MAX_CREATION_LIMIT zum [server]-Abschnitt in Gitea app.ini hinzu. Erwägen Sie die Verwendung von Git LFS: git lfs install && git lfs track '*.zip'. Überprüfen Sie, ob LFS-Unterstützung in Gitea aktiviert ist.
Wie migriere ich meine GitHub-Repositories zu Gitea?
Verwenden Sie die Migrate-Funktion in Gitea: Neues Repository → Migrieren → GitHub. Sie können auch private Repositories mit einem GitHub Personal Access Token migrieren. Mit der Mirror-Option werden Änderungen auf GitHub automatisch synchronisiert. Alle Branches, Tags und der Commit-Verlauf bleiben erhalten.
Wie aktualisiere ich Gitea?
Erstellen Sie vor dem Update ein Backup: docker exec gitea gitea dump. Dann mit docker compose pull && docker compose up -d aktualisieren. Gitea führt automatische Datenbankmigrationen durch. Bei großen Versionssprüngen (z.B. 1.19 → 1.21) müssen Sie möglicherweise Zwischenversionen einzeln durchlaufen. Lesen Sie immer die Release Notes.
Coolify-Installation, Docker- und Git-Integration, Anwendungs-Deployment, Datenbankverwaltung, SSL-Zertifikate, Umgebungsvariablen und Self-Hosted PaaS als Alternative zu Heroku/Netlify.
Nextcloud-Installation mit Docker, Apache/Nginx-Konfiguration, Datenbankeinrichtung, SSL-Zertifikat, Dateisynchronisierung, App-Store und Leistungsoptimierung.
Portainer CE Installation, Docker- und Kubernetes-Verwaltung, Stack-Deployment, Volume/Netzwerk-Verwaltung, Benutzerautorisierung, Webhook und GitOps-Integration.