git-pages #
Statischer Seiten-Server für Forgejo-Repositories, analog zu GitHub Pages.
Upstream: codeberg.org/git-pages/git-pages
Der konkrete Hostname steht im Ingress in values.yaml; hier steht dafür
<pages-domain>.
URLs #
| URL | Beschreibung |
|---|---|
<pages-domain> |
Hauptdomain |
<user>.<pages-domain> |
Benutzer-Seiten |
<user>.<pages-domain>/<repo> |
Repo-spezifische Seiten |
Funktionsweise #
git-pages zieht Inhalte aus Forgejo-Repositories und stellt sie als statische Webseiten bereit. Seiten werden über Webhooks aus Forgejo aktualisiert.
Repository-Konvention #
Ein Repository namens pages im Account <user> (Branch main) wird unter
<user>.<pages-domain> erreichbar. Weitere Repos werden unter dem Pfad
<user>.<pages-domain>/<repo> eingebunden.
Forgejo-Integration #
Webhook konfigurieren #
In jedem Forgejo-Repository, das Seiten publizieren soll, unter Settings → Webhooks → Add Webhook → Gitea eintragen:
- Target URL:
http://git-pages.git-pages.svc.cluster.local:3000 - HTTP Method: POST
- Content Type:
application/json - Events: Push
Erste Seite deployen #
1# Pages-Repository in Forgejo erstellen und Inhalte pushen
2git init my-site
3cd my-site
4echo '<h1>Hello from git-pages!</h1>' > index.html
5git add . && git commit -m "initial"
6git remote add origin https://git.zyria.de/<user>/pages.git
7git push -u origin mainKonfiguration #
Die Serverkonfiguration liegt als ConfigMap in values.yaml (configMaps.config).
Datenpfad: PVC git-pages-data (5Gi, Longhorn), gemountet unter /app/data.
TLS #
Wildcard-Zertifikat *.<pages-domain> via cert-manager (ClusterIssuer acmedns).
Traefik übernimmt die TLS-Terminierung.