Commit graph

46 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
61c486167c
fix: nur noch über IPv4 prüfen, hetzner hat kein funktionierendes IPv6
hetzner hat eine globale IPv6-Adresse und eine Default-Route, aber keine
Konnektivität — auch google.com und cloudflare.com laufen über IPv6 in den
Timeout. Bei jeder Domain mit AAAA-Record wartete Python erst ~20s, bevor es
auf IPv4 zurückfiel: vanityontour.de und wiki wurden mit über 20000ms statt
~180ms gemessen, und der Lauf überschritt das 5-Minuten-Cron-Intervall.

Bisher war das verdeckt, weil ein /etc/hosts-Block auf hetzner die betroffenen
Domains auf IPv4 pinnte. Der Block stammte aus der DNS-Migration im April, war
überholt und enthielt für wiki.vanityontour.de eine tote IP (2.57.91.91) —
daher der TLS-Fehler und das dauerhafte "down" des Wikis. Mit dem Entfernen des
Blocks kam die latente IPv6-Störung zum Vorschein.

Der Checker filtert getaddrinfo jetzt auf AF_INET. Das ist kein Workaround um
die Störung herum, sondern beschreibt den Messpunkt korrekt: mehr als IPv4
kann hetzner derzeit nicht erreichen. Die IPv6-Störung selbst bleibt offen.
2026-08-03 07:02:31 +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
d725139a05 fix(status): increase SSL check timeout 8s → 15s to reduce false timeouts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 08:12:28 +00:00
f8f7f8fa07 chore: disable GH Actions cron — status updates via Hetzner cron+SCP
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 08:03:57 +00:00
github-actions[bot]
c8018d9696 chore: status update 2026-04-08 07:01 UTC 2026-04-08 07:01:19 +00:00
github-actions[bot]
34c329de1e chore: status update 2026-04-08 05:42 UTC 2026-04-08 05:42:51 +00:00
github-actions[bot]
2c1c3b3a8f chore: status update 2026-04-08 03:55 UTC 2026-04-08 03:55:39 +00:00
github-actions[bot]
37f53eb552 chore: status update 2026-04-08 01:04 UTC 2026-04-08 01:04:23 +00:00
github-actions[bot]
ca850ec1c5 chore: status update 2026-04-07 23:44 UTC 2026-04-07 23:44:56 +00:00
github-actions[bot]
4f7bac9b52 chore: status update 2026-04-07 23:01 UTC 2026-04-07 23:01:47 +00:00
github-actions[bot]
ee59ef512b chore: status update 2026-04-07 22:22 UTC 2026-04-07 22:22:14 +00:00
github-actions[bot]
0aade48af1 chore: status update 2026-04-07 21:40 UTC 2026-04-07 21:40:49 +00:00
github-actions[bot]
74f2c6fcc7 chore: status update 2026-04-07 20:58 UTC 2026-04-07 20:58:58 +00:00
github-actions[bot]
aafa2149d9 chore: status update 2026-04-07 20:03 UTC 2026-04-07 20:03:15 +00:00
github-actions[bot]
84bfd65d6f chore: status update 2026-04-07 19:20 UTC 2026-04-07 19:20:10 +00:00
github-actions[bot]
f6fcf140bb chore: status update 2026-04-07 18:08 UTC 2026-04-07 18:08:59 +00:00
github-actions[bot]
319a264cd8 chore: status update 2026-04-07 17:14 UTC 2026-04-07 17:14:38 +00:00
github-actions[bot]
0c9507a6dd chore: status update 2026-04-07 16:09 UTC 2026-04-07 16:09:17 +00:00
github-actions[bot]
6f969a8d4d chore: status update 2026-04-07 14:58 UTC 2026-04-07 14:58:46 +00:00
github-actions[bot]
9889f97fce chore: status update 2026-04-07 13:53 UTC 2026-04-07 13:53:23 +00:00
github-actions[bot]
8b516391e1 chore: status update 2026-04-07 12:03 UTC 2026-04-07 12:03:33 +00:00
github-actions[bot]
9df5bb40e8 chore: status update 2026-04-07 11:15 UTC 2026-04-07 11:15:31 +00:00
github-actions[bot]
3d6b83ab42 chore: status update 2026-04-07 10:16 UTC 2026-04-07 10:16:13 +00:00
github-actions[bot]
9bf8f45646 chore: status update 2026-04-07 09:10 UTC 2026-04-07 09:10:39 +00:00
github-actions[bot]
61fa4dadfc chore: status update 2026-04-07 08:01 UTC 2026-04-07 08:01:20 +00:00
github-actions[bot]
39012ba2b1 chore: status update 2026-04-07 06:48 UTC 2026-04-07 06:48:44 +00:00
github-actions[bot]
a3b7ded47e chore: status update 2026-04-07 05:21 UTC 2026-04-07 05:21:57 +00:00
github-actions[bot]
157c585250 chore: status update 2026-04-07 03:20 UTC 2026-04-07 03:20:43 +00:00
github-actions[bot]
17f736e18c chore: status update 2026-04-07 00:02 UTC 2026-04-07 00:02:17 +00:00
github-actions[bot]
96f6a17963 chore: status update 2026-04-06 23:33 UTC 2026-04-06 23:33:02 +00:00
github-actions[bot]
8efdf6ea51 chore: status update 2026-04-06 22:58 UTC 2026-04-06 22:58:18 +00:00
github-actions[bot]
c794f09d48 chore: status update 2026-04-06 22:20 UTC 2026-04-06 22:20:19 +00:00
github-actions[bot]
433af98380 chore: status update 2026-04-06 21:49 UTC 2026-04-06 21:49:08 +00:00
github-actions[bot]
2088c8f54e chore: status update 2026-04-06 21:08 UTC 2026-04-06 21:08:28 +00:00
github-actions[bot]
35e720a881 chore: status update 2026-04-06 20:36 UTC 2026-04-06 20:36:09 +00:00
github-actions[bot]
b6c3d426f5 chore: status update 2026-04-06 19:58 UTC 2026-04-06 19:58:22 +00:00
github-actions[bot]
656b08d86c chore: status update 2026-04-06 19:15 UTC 2026-04-06 19:15:49 +00:00
github-actions[bot]
fd9a28ae38 chore: status update 2026-04-06 18:06 UTC 2026-04-06 18:06:17 +00:00
94da86f573 fix(checker): 4xx/5xx responses count as down not degraded
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:51:02 +00:00
github-actions[bot]
77a5da8a2d chore: status update 2026-04-06 17:50 UTC 2026-04-06 17:50:10 +00:00
e927e30c2d chore: status update — vanityontour.de degraded (403) 2026-04-06 17:49:45 +00:00
768966f288 feat: add central brand.css design token system
- Full CSS variable set: colors, typography, spacing, shadows, z-index
- Purple #7c3aed as official VanityOnTour primary color
- Montserrat via Google Fonts
- Semantic status colors (success/warning/error/info)
- Dark + light theme tokens
- Available at: https://status.vanityontour.de/brand.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:37:59 +00:00
0e2a5d525c feat: add favicon and PWA icons (hexagon V, purple brand)
- favicon.ico (16+32+48px)
- favicon-16/32/48.png
- apple-touch-icon.png (180px)
- icon-192/512.png for PWA manifest
- site.webmanifest for installable PWA

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:26:21 +00:00
68a5d54934 fix(actions): use FTP deploy for GitHub Actions automation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:17:55 +00: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