chore(analytics): Umami aus Doku-Sektionen + manascore-Content (Welle E2)

URL_SCHEMA/MONITORING (Umami-Tabellen-Sektionen raus), OBSERVABILITY_GAPS,
RECOMMENDED_SERVICES, WINDOWS_GPU_SERVER_SETUP, generate-env-Kommentar,
manascore about.md + index.astro (Umami-Card/Methodik), website-builder-smoketest.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-26 15:03:25 +02:00
parent 04bfa71a7a
commit 0b04ec35b5
9 changed files with 15 additions and 73 deletions

View file

@ -206,15 +206,15 @@ Prüft 7 Konsistenz-Kriterien der Backend-API:
### Analytics Maturity
Bewertet die Tiefe der Umami-Analytics-Integration pro App:
Bewertet die Tiefe der Analytics-Integration pro App (Web-Analytics ist seit 2026-05-26 entfernt — diese Metrik ist historisch):
| Check | Beschreibung |
| ---------------------- | ---------------------------------------------------------------------- |
| **Page View Tracking** | Umami-Script via `hooks.server.ts` injiziert (automatische Page Views) |
| **Custom Events** | App-spezifische Events implementiert (z.B. `TodoEvents`, `ChatEvents`) |
| **Auth Tracking** | Login/Signup/Logout automatisch via `@mana/shared-auth` getrackt |
| **Landing Tracking** | Landing Page Events (CTA-Clicks, Pricing Views) via `Analytics.astro` |
| **Public Dashboard** | Öffentliches Dashboard auf `stats.mana.how` konfiguriert |
| Check | Beschreibung |
| ---------------------- | -------------------------------------------------------------------------- |
| **Page View Tracking** | Analytics-Script via `hooks.server.ts` injiziert (automatische Page Views) |
| **Custom Events** | App-spezifische Events implementiert (z.B. `TodoEvents`, `ChatEvents`) |
| **Auth Tracking** | Login/Signup/Logout automatisch via `@mana/shared-auth` getrackt |
| **Landing Tracking** | Landing Page Events (CTA-Clicks, Pricing Views) via `Analytics.astro` |
| **Public Dashboard** | Öffentliches Dashboard auf `stats.mana.how` konfiguriert |
Apps mit allen 5 Checks sind **analytics-mature** — sie erfassen nicht nur Page Views, sondern auch Feature-spezifische Nutzerinteraktionen, Auth-Flows und Landing-Conversions.

View file

@ -459,21 +459,6 @@ const statuses = [...new Set(sortedAudits.map((a) => a.data.status))];
</div>
</div>
</a>
<a
href="https://stats.mana.how/share/face76f42d3e42beb8c80ea03f33a462/mana-webapp"
target="_blank"
class="hover:border-border border-border/30 flex items-center gap-3 rounded-lg border p-3 transition-colors"
>
<div
class="bg-blue-500/10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg"
>
<span class="text-sm">📈</span>
</div>
<div>
<div class="text-foreground text-xs font-medium">Umami</div>
<div class="text-muted-foreground text-[10px]">Kein Login nötig (Public Share)</div>
</div>
</a>
</div>
</div>
</Container>

View file

@ -20,25 +20,6 @@ All monitoring tools are publicly accessible - no login required (except GlitchT
| Backend Metrics | Request rates, latency, error rates |
| Database Details | PostgreSQL connections, queries |
### Umami Public Share Links
| App | Share URL |
|-----|-----------|
| Mana | https://stats.mana.how/share/face76f42d3e42beb8c80ea03f33a462/mana-webapp |
| Calendar | https://stats.mana.how/share/772d2510c5bb47e0b490267f2821510a/calendar-webapp |
| Todo | https://stats.mana.how/share/ec1bb158d8714bc6bdbc147c97b9c1c7/todo-webapp |
| Chat | https://stats.mana.how/share/1c43fd9847674f899dc2ebdfbd8960db/chat-webapp |
| Contacts | https://stats.mana.how/share/d2cc0f019e464a88a49ba365f58b78e7/contacts-webapp |
| Clock | https://stats.mana.how/share/f893945efea7449382abf04812a54bea/clock-webapp |
| Quotes | https://stats.mana.how/share/6a86139ad8e2469c97541c40a70397fa/quotes-webapp |
| Picture | https://stats.mana.how/share/273f67fa569940f6b85e7a7a0a003539/picture-webapp |
| Photos | https://stats.mana.how/share/dc201d685f784716a0b8587376eca7a1/photos-webapp |
| Storage | https://stats.mana.how/share/392ff51d11f14f0c9d556af1402a3ee6/storage-webapp |
| Food | https://stats.mana.how/share/33dfae72f8e24aaa8008cbbceeaf072d/food-webapp |
| Planta | https://stats.mana.how/share/1e83a8a67fa84d3995455c21dedbe3a2/plants-webapp |
| Presi | https://stats.mana.how/share/a1eb8d1fa4d543e6b97ac41351fe1c6f/presi-webapp |
| Skilltree | https://stats.mana.how/share/5de13e0895ae4a69aa2a834f985be14d/skilltree-webapp |
| Cardecky | https://stats.mana.how/share/1c1d54c4782943e58dde0a6db7c86ec6/cards-webapp |
### GlitchTip Error Tracking

View file

@ -328,13 +328,10 @@ Frontend Error Monitoring fängt Fehler ab, die im Browser des Users passieren
### Aktueller Zustand
**Umami** trackt nur:
- Seitenaufrufe (welche Seiten werden besucht)
- Referrer (woher kommen Besucher)
- Browser/OS/Gerät
- Länder/Sprachen
Web-Analytics ist Verein-weit entfernt (2026-05-26) — es werden **keine**
Besucher-Daten mehr erhoben (keine Seitenaufrufe, Referrer, Geräte, Länder).
**Umami trackt NICHT:**
Web-Analytics trackte ohnehin **nicht**:
- JavaScript-Fehler
- Netzwerk-Fehler (fehlgeschlagene API-Calls)
- Performance-Metriken (Largest Contentful Paint, Time to Interactive)
@ -460,6 +457,6 @@ Alle vier Maßnahmen nutzen das **Grafana-Ökosystem**, das wir bereits betreibe
└───────────────┘
GlitchTip (Backend-Errors ✅ + Frontend-Errors NEU)
Umami (Web Analytics ✅)
(kein Web-Analytics)
Alertmanager (Alerts ✅)
```

View file

@ -61,7 +61,6 @@ Diese Dokumentation beschreibt Services, die die bestehende Infrastruktur sinnvo
│ AUTOMATION & ANALYTICS │
│ ├── n8n Workflow-Automation (wie Zapier) │
│ ├── Watchtower Automatische Container-Updates │
│ └── Umami Privacy-freundliche Web-Analytics │
├─────────────────────────────────────────────────────────────────────────┤
│ MATRIX (DSGVO-KONFORM) │
│ ├── Synapse Matrix Homeserver │

View file

@ -53,25 +53,6 @@ This document defines the URL schema for all mana.how subdomains.
|---------|-----|-------------|
| **Grafana** | grafana.mana.how | Metrics dashboards |
### Umami Tracking (Analytics)
For web analytics, the following apps are tracked in Umami:
|------------------|--------------|--------|
| `mana-webapp` | Dashboard | mana.how |
| `chat-webapp` | Chat | chat.mana.how |
| `todo-webapp` | Todo | todo.mana.how |
| `calendar-webapp` | Calendar | calendar.mana.how |
| `clock-webapp` | Clock | clock.mana.how |
| `contacts-webapp` | Contacts | contacts.mana.how |
| `storage-webapp` | Storage | storage.mana.how |
| `quotes-webapp` | Quotes | quotes.mana.how |
| `food-webapp` | Food | food.mana.how |
| `presi-webapp` | Presi | presi.mana.how |
| `skilltree-webapp` | SkillTree | skilltree.mana.how |
| `photos-webapp` | Photos | photos.mana.how |
---
## Short URL Redirects

View file

@ -21,7 +21,7 @@ Danach kann alles Weitere (Ollama, AI-Services, Cloudflare Tunnel) per SSH erled
### Zusatz-Workloads neben den AI-Services
Seit 2026-05-06 läuft auf der Box zusätzlich ein **WSL2-Docker-Stack** für
nicht-zeitkritische Hilfsdienste (Monitoring, Forgejo, Glitchtip, Umami) —
nicht-zeitkritische Hilfsdienste (Monitoring, Forgejo, Glitchtip) —
siehe [`PLAN_OPTION_C.md`](./PLAN_OPTION_C.md). WSL2 ist auf 24 GB RAM /
12 vCPUs / 8 GB Swap begrenzt (`C:\Users\tills\.wslconfig`), sodass die
AI-Scheduled-Tasks bei 64 GB Host-RAM > 30 GB Reserve behalten.

View file

@ -392,11 +392,10 @@ Dann: `/etc/hosts`-Eintrag, Resolver-Cache im Hook leeren (60s TTL, oder Server
```html
<script defer data-domain="deineseite.com" src="https://plausible.io/js/script.js"></script>
```
7. Wechsel zu **"Umami"**, Site-Key `abc12345-1234-…`, self-hosted URL testen
**A11y-Check:** Analytics-Block hat `aria-hidden="true"` im Edit-Mode (Meta-Pill) und emittiert nur ein `<script>`-Tag im Public-Mode. Keine visuellen Artefakte für Screenreader.
**Privacy-Check:** Keine Cookies im `document.cookie` nach Page-Load. Plausible + Umami sind cookieless.
**Privacy-Check:** Keine Cookies im `document.cookie` nach Page-Load. Plausible ist cookieless.
---

View file

@ -689,7 +689,7 @@ const APP_CONFIGS = [
},
// ==========================================================
// Landing Pages (Astro) - Umami Website IDs
// Landing Pages (Astro)
// ==========================================================
// Chat Landing