Forgejo #
Forgejo ist eine quelloffene, selbst gehostete Git-Plattform, die eine umfassende Lösung für die Versionskontrolle von Code, Projektmanagement und CI/CD bietet. Es ist ein Fork von Gitea und konzentriert sich auf die Community-Entwicklung.
Status #
Deployment #
Quelle #
Das Projekt basiert auf der offiziellen Forgejo-Website. Das Docker-Image stammt von codeberg.org/forgejo/forgejo. MariaDB: Offizielles Docker Image
Dokumentation #
Die offizielle Dokumentation von Forgejo ist unter forgejo.org/docs zu finden. Forgejo GitHub Repository
Funktion #
Dieser Dienst bietet eine vollständige Git-Hosting-Lösung mit Funktionen wie Repository-Verwaltung, Issue-Tracking, Pull Requests, Wiki und CI/CD-Integration. Er ist über git.zyria.de zugänglich.
Lokale Anpassungen #
Die umfangreiche Konfiguration erfolgt über Umgebungsvariablen in der values.yaml-Datei.
Wichtige Einstellungen #
- Ingress: Der Zugriff auf die Weboberfläche erfolgt über einen Ingress mit einem Hostnamen.
- SSH: Der Git-SSH-Zugriff wird über einen LoadBalancer-Service auf Port 22 bereitgestellt.
- Datenbank: Eine MariaDB-Datenbank läuft als Sidecar-Container.
- Speicher: Sowohl die Git-Daten als auch die Datenbank werden persistent auf einem HostPath-Volume gespeichert.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/forgejo-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/forgejo | kubectl apply -n forgejo -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein Ingress-Controller (z.B. Traefik) für den externen Zugriff.
- Eine Zertifikatsmanagement-Lösung (z.B. cert-manager) zur Bereitstellung von TLS-Zertifikaten.
- Ein NFS-Server für persistente Speicherung.
- Ein SMTP-Server für E-Mail-Benachrichtigungen.