Commit graph

3 commits

Author SHA1 Message Date
7d373612a0
feat: fehlende Dienste und die VanityCast App aufnehmen
Abgeglichen gegen die tatsächlich vorhandenen Dienste (Uptime-Kuma-Monitore,
Traefik-Hosts auf dem Hostinger VPS, CloudPanel-Sites auf hetzner, NPM-Datenbank
auf beiden Proxy-Servern und die Domainliste auf Hostinger). Es fehlten sieben
Einträge — vor allem alles, was auf dem Hostinger VPS hinter Traefik läuft.

Neu:
- VanityCast Landing (vanitycast.vanityontour.de)
- Kurzlinks (go.vanityontour.de)
- Forgejo (git.giertz.biz)
- Postiz (social.vanityontour.de)
- Shlink Admin (shlink.vanityontour.de)
- Shlink API (go.vanityontour.de/rest/health)
- SSL-Laufzeit für vanitycast, go und git.giertz.biz

Shlink Admin erwartet bewusst 401: Traefik beantwortet die BasicAuth vor dem
Proxy. Das belegt nur, dass Traefik läuft und der Schutz noch greift — eine 200
hiesse, der Schutz ist weg. Dass Shlink selbst antwortet, zeigt der neue
Health-Endpunkt.

App-Bereich fasst jetzt mehrere Apps: APP_STORE_ID wird zu APP_STORE_IDS,
status.json bekommt "apps" als Liste. Das alte Einzelfeld "app" bleibt erhalten,
weil index.html nur manuell auf Hostinger aktualisiert wird und eine ältere
Seite sonst leer liefe. VanityCast hat noch keine Bewertungen — statt "☆ — (0)",
was nach einem Fehler aussieht, steht dort "Noch keine Bewertungen".
2026-08-03 07:11:08 +02:00
db2c6c70a0
fix: Admin-Dienste hinter dem VPN wieder korrekt prüfen
Seit der VPN-Absicherung (Phase 2) antworten n8n, die beiden Nginx Proxy
Manager, Grafana und CloudPanel auf ihren öffentlichen Domains nur noch mit
403. Der Checker wertete das als "down" — die Statusseite stand deshalb
dauerhaft auf "down", ohne dass ein Dienst tatsächlich gestört war.

Der Checker läuft per Cron auf hetzner, das selbst WireGuard-Peer 10.10.0.14
ist. Diese Dienste werden jetzt über das neue Feld "check_url" intern geprüft,
Grafana und CloudPanel laufen auf hetzner selbst und werden über localhost
angesprochen. "url" bleibt die öffentliche Adresse für die Anzeige; "check_url"
wird vor dem Schreiben aus status.json entfernt, damit die interne
Netztopologie nicht auf einer öffentlichen Seite landet.

Uptime Kuma zeigte bisher nur einen 302 auf der gesperrten Root-URL. Geprüft
wird jetzt die öffentliche Status-Page, die tatsächlich beweist, dass Kuma
antwortet.

Nebenbei korrigiert: ng.vanityontour.de war als "CloudPanel" gefuehrt, ist aber
laut NPM-Datenbank der Nginx Proxy Manager auf VoTServer. CloudPanel selbst
(cp.blog.vanityontour.de) wurde dadurch nie geprüft und ist jetzt ergaenzt.

Der GitHub-Actions-Workflow entfaellt: er lief ohnehin nur noch manuell, von
GitHub aus sind die internen Adressen unerreichbar, und ein Start haette ein
falsches "alles down" committet und per FTP über die Live-Seite geschoben.
README beschreibt jetzt den tatsaechlichen Weg (Cron auf hetzner + SCP).
2026-08-03 06:55:32 +02:00
f0211e0e5c feat: initial VanityOnTour status page
- HTML dashboard with auto-refresh (5min countdown)
- Python checker: HTTP status, SSL expiry, App Store data
- GitHub Actions: runs every 5 min, deploys via FTP to Hostinger
- Monitors 13 services + iOS app + 6 SSL certs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:15:55 +00:00