- HTML 41%
- CSS 37.2%
- Shell 17.2%
- JavaScript 4.6%
|
All checks were successful
/ site (push) Successful in 45s
- generate.sh lädt das Logo beim Bauen (Feld "icon" in iac.json für abweichende Namen) - Plattform-Logos (LXC, VM, Docker, Proxmox, Debian) in assets/logos/ - Docker: Reiter, Filter und Kurz-URL /<app>/compose.yaml, sobald eine App es unterstützt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| assets | ||
| content | ||
| layouts | ||
| tools | ||
| .gitignore | ||
| hugo.toml | ||
| README.md | ||
iac-website
Quelle für https://iac.heyer.systems – Übersicht aller iac-Apps und kurze URLs für die Einzeiler. Hugo, ohne Theme-Abhängigkeiten.
Ablauf
tools/generate.shliest alle öffentlichen Reposiac-*der Organisation, die eineiac.jsonhaben (Repos ohneiac.json– z. B.iac-coreund dieses Repo – erscheinen nicht;"hidden": truein deriac.jsonblendet eine App aus). Daraus entstehencontent/apps/<name>.md,assets/apps/<name>.svg|png(Logo) undnginx/redirects.conf.hugobaut die Seite nachpublic/.- CI (
.forgejo/workflows/site.yml, stündlich und bei Push) packtpublic/undnginx/alssite.tar.gzund veröffentlicht es als Paketiac-website– nur wenn sich der Inhalt geändert hat. - Der Webserver (ein
iac-nginx-Gast) holt es selbst ab:iac-nginx-sites add iac https://git.heyer.systems/api/packages/iac/generic/iac-website iac.heyer.systems default
Kurze URLs (nginx/redirects.conf)
| URL | Ziel |
|---|---|
/<app> |
App-Seite |
/<app>/ct.sh, /<app>/vm.sh, /<app>/adopt.sh, /<app>/compose.yaml |
Dateien im Repo der App (Branch main) |
/<app>/image/latest, /<app>/image/SHA256SUMS |
aktuelles VM-Image in der Paket-Registry |
/<app>/image/<version>/<datei> |
bestimmte Image-Version |
/src/<repo>/<ref>.tar.gz |
Quellarchiv eines Repos (für update) |
Logos
Die App-Seiten zeigen das Original-Logo der Software. tools/generate.sh lädt es beim Bauen
(kein Einbinden fremder Server im Browser) – zuerst von selfh.st/icons
(CC BY 4.0), dann von homelab-svg-assets (MIT).
Gesucht wird nach dem App-Namen; abweichende Namen stehen in der iac.json:
"icon": "traefik"
"icon": { "selfhst": "traefik", "homelab": "traefik-proxy" }
Ohne Treffer erscheint der Anfangsbuchstabe. Die Quelle steht dezent unter der Seitenleiste der
App und in der Fußzeile (nur tatsächlich genutzte Quellen, siehe [params.iconsources] in
hugo.toml). Die Plattform-Logos (LXC, VM, Docker, Proxmox, Debian) liegen fest in
assets/logos/.
Docker
Neben lxc und vm kann eine App "docker" in supports haben (ohne defaults). Liegt eine
compose.yaml im Repo, zeigt die App-Seite einen Docker-Reiter mit Installation und Update,
und /<app>/compose.yaml leitet dorthin weiter; sonst steht dort „noch nicht veröffentlicht“.
Filter und Texte auf der Startseite nennen Docker erst, wenn mindestens eine App es unterstützt.
Lokal testen
apt install hugo jq
tools/generate.sh && hugo server