Audit + Umbau: Faktenfehler behoben, Server-/Admin-Lücken geschlossen, 49 Screenshots, Schema-Matrix generiert
- Audit: plans/doku-audit.md (Befunde, Phasen P1-P9, Ausführungsprotokoll) + plans/audit/ (8 Detailreports) + plans/offene-issues.md - Werkzeuge: scripts/audit-docs.mjs (Links/Anker/Bilder/Tabellen), scripts/gen-schema-matrix.mjs (npm run gen:schemas) - Neue Seiten: projekt/feld-rechte, reference/rest-system, reference/schema-properties, projekt/tests, 5 Anwender-Seiten - Fehler behoben: EMBEDDING_BGE_M3_*-Env, allowSnapshots, MCP-Scopes (.read/.create/.update), meta.views, loadAll-Signatur, OpenAPI-Endpunkt, MongoDB 8, Befehlspalette - Screenshots: 9 Admin + 10 Anwender aus Mock-Projekt corporate (t1 entfernt), 49 Bilder gesamt - AGENTS.md: Sync-Behauptung richtiggestellt, Belegpflicht/UI-Namen/Screenshot-Regeln, Werkzeug-Abschnitt - Build: 71 Seiten grün, 0 tote Links, 0 kaputte Tabellen
This commit is contained in:
1 parent
1897bb50d9
commit
1928922e07
104 files changed
+4756
-1044
No files matched your search
@@ -12,7 +12,8 @@ Suchbegriffe: Deploy, Staging, Live, Produktion, Reload, Freischaltung.
|
||||
## URL-Bild
|
||||
|
||||
```bash title=".env — die drei Bühnen (Platzhalter im Starter ersetzen)"
|
||||
LIVE_URL=https://www # Produktion (im echten Projekt: echte Domain)
|
||||
# TODO: echte Domain eintragen
|
||||
LIVE_URL=https://example.com # Produktion (im echten Projekt: echte Domain)
|
||||
STAGING_URL=https://dev-<projekt>.staging.testversion.online
|
||||
CODING_URL=https://<projekt>.code.testversion.online
|
||||
```
|
||||
@@ -76,11 +77,33 @@ curl -X POST "${LIVE_URL}/api/ssr?clear=1" -H "Content-Type: application/json" -
|
||||
```
|
||||
|
||||
Zugang per `RSYNC_USER`, `RSYNC_PASS`, `RSYNC_HOST`, `RSYNC_PORT` aus `.env`.
|
||||
Auf `master` fliegen Quellen und Karten raus (`--exclude=src --exclude=*.map`).
|
||||
Auf `master` fliegen im Frontend-Sync Quellen und Karten raus (`--exclude=src --exclude=*.map`); der `api/`-Sync läuft ohne Excludes.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## CI-Umgebung und Variablen
|
||||
|
||||
Beide Skripte liegen in `scripts/` und lesen per `allexport` erst `.env`, dann `api/config.yml.env` ein.
|
||||
`ci-deploy.sh` bricht ohne `RSYNC_USER`, `RSYNC_PASS`, `RSYNC_HOST`, `RSYNC_PORT` ab; `ci-staging.sh` verlangt `API_BASEDIR` und `COMPOSE_PROJECT_NAME` (Schrägstriche werden zu Bindestrichen).
|
||||
Erkennt `ci-deploy.sh` die Starter-Vorlage (`PROJECT_NAME=__PROJECT_NAME__`, `_CUSTOMER_ID_` in `PRODUCTION_PATH` oder `LIVE_URL=https://www`), steigt es mit Exit 0 aus — kein Deploy, kein Fehler.
|
||||
|
||||
| Variable | Woher | Wofür |
|
||||
|---|---|---|
|
||||
| `RSYNC_USER`, `RSYNC_PASS`, `RSYNC_HOST`, `RSYNC_PORT` | CI-Umgebung | SSH-Zugang und Ziel für den Live-rsync |
|
||||
| `BRANCH` | CI-Umgebung | `master` schaltet `--exclude=src --exclude=*.map` (nur Frontend-Sync) |
|
||||
| `ADMIN_TOKEN` | `api/config.yml.env` | `Bearer`-Kopf für den Proxy-Reload |
|
||||
| `LIVE_URL`, `STAGING_URL` | `.env` | Ziele für Reload und SSR-Clear |
|
||||
| `API_BASEDIR`, `COMPOSE_PROJECT_NAME` | CI-Umgebung | Staging-Zielverzeichnis und Compose-Projektname |
|
||||
| `PREVIEW_URL` | wird geschrieben | `ci-modify-config.sh` setzt `LIVE_URL/preview`, `ci-staging.sh` überschreibt mit `STAGING_URL/preview` |
|
||||
| `PROJECT_NAME`, `PRODUCTION_PATH` | `.env` | Nur Template-Schutz (siehe oben) |
|
||||
|
||||
Was das Skript tut: Live per rsync (`frontend/`, `api/`, `media/`) auf `RSYNC_HOST`, danach Reload plus SSR-Clear; Staging per rsync nach `API_BASEDIR` (`api`, `frontend/dist`, `frontend/assets`), danach `docker compose up -d --build` mit Wartezeit, Reload plus SSR-Clear.
|
||||
|
||||
Nicht als Deploy-Variablen listen: `ADMIN_ASSET_VERSION` steht zwar in `api/config.yml.env`, wird aber von keinem CI-Skript gelesen.
|
||||
`CODING_URL` und `CODING_TIBIADMIN_URL` sind Test-Basis-URLs (siehe [Tests](/projekt/tests/)), keine Deploy-Ziele.
|
||||
`.basic-auth-code` und `.basic-auth-web` liegen im Repo, sind in `docker-compose-local.yml` aber derzeit auskommentiert; Playwright umgeht Basic-Auth per User-Agent-Marker.
|
||||
|
||||
## Reload-Endpunkte
|
||||
|
||||
Nach jedem Deploy: Config neu laden **und** SSR-Cache wischen — sonst siehst du alte Seiten auf neuer Config.
|
||||
@@ -88,7 +111,7 @@ Nach jedem Deploy: Config neu laden **und** SSR-Cache wischen — sonst siehst d
|
||||
| Endpunkt | Kopf | Wirkung |
|
||||
|---|---|---|
|
||||
| `POST /api/_/admin/reload` (Live/Staging-URL) | `Authorization: Bearer <ADMIN_TOKEN>` | Projekt-Config über den Reverse-Proxy neu laden |
|
||||
| `POST /api/ssr?clear=1` | keiner nötig (`public.post: true`) | Ganzen SSR-Cache löschen |
|
||||
| `POST /api/ssr?clear=1` (Starter-URL über Proxy/Webserver, kein tibi-server-Pfad — siehe `scripts/ci-staging.sh` und `scripts/ci-deploy.sh`) | keiner nötig (`public.post: true` in `api/collections/ssr.yml`) | Ganzen SSR-Cache löschen (Hook `hooks/ssr/post_bind.js` reagiert auf `?clear`) |
|
||||
| `POST /api/v1/_/:project/_/admin/reload` | `X-Admin-Token` (Server-Ebene) | Gleicher Reload direkt am Server |
|
||||
| `POST /api/v1/_/:project/_/admin/regenerate-search` | `X-Admin-Token` | Suchindex neu aufbauen ([Suche](/projekt/suche/)) |
|
||||
|
||||
@@ -122,10 +145,10 @@ Im Deploy-Skript steht er nur hinter `Bearer` für den Proxy-Reload — Projekt-
|
||||
|
||||
| Fehlerbild | Ursache | Lösung |
|
||||
|---|---|---|
|
||||
| Deploy bricht mit „starter template detected“ ab | Platzhalter noch drin | `.env` und `PRODUCTION_PATH` vervollständigen |
|
||||
| Deploy steigt mit „starter template detected" aus | Guard greift (Exit 0, kein Deploy, kein Fehler) | `.env` und `PRODUCTION_PATH` vervollständigen |
|
||||
| Neue Config wirkt nicht | Reload vergessen | Reload-Endpunkt pro Bühne aufrufen |
|
||||
| Alte Seite trotz neuer Daten | SSR-Cache alt | `?clear=1`, Köpfe `X-SSR-Cache`/`X-SSR-Cleared` prüfen |
|
||||
| `project not found` | Namespace falsch | [Neues Projekt](/einstieg/neues-projekt/) Schritt 5 |
|
||||
| 401/403 beim Reload | Falscher Kopf (z. B. `Token:` statt `Bearer`) | Tabelle oben: Deploy nimmt `Bearer`, Server-API nimmt `X-Admin-Token` |
|
||||
|
||||
Verifiziert am e3f92eb 2026-10-14 (tibi-svelte-starter, .env, ci-deploy.sh, ci-staging.sh, deploy.yml).
|
||||
Verifiziert am e3f92eb 2026-10-17 (tibi-svelte-starter, .env, ci-deploy.sh, ci-staging.sh, deploy.yml)
|
||||
Reference in new issue
Block a user