12 Monate Crumbforest-Wachstum, sortiert nach Waldlogik. Struktur: - 454 Dokumente in 7 organischen Ebenen - Lichtung → Waldrand → Waldmitte → Wurzeln → Krone → Unterholz → Samen - INDEX.md für jede Ebene (eigene Stimme) - WALDKARTE.md (Master-Navigation) - crumbcodex.md (Das Versprechen zwischen Krümel & Bits) - lichtung/willkommen.md (Nullfeld-Einstieg für Kinder) Philosophie: - Waldlogik statt Ordnerlogik - Tiefe, Licht, Wurzeln - wie ein echter Wald - Schutz für Krümel, Tiefe für Gräber, Poesie für Atmende Repos verbunden: - OZM-Keks-Handbuch-v1 (Das Wissen) - Crumb-Core-v.1 (Das Herz) - 194.164.194.191 - crumbmissions (Das Spiel) Wuuuhuuuuu! 🦉✨
116 lines
4.2 KiB
Markdown
116 lines
4.2 KiB
Markdown
# 🍰 Mattermops Restore & Anbindung – Erfahrungsprotokoll
|
||
|
||
**Datum:** 2025-05-29
|
||
**Crew:** Branko, Grootixer Foo, der Mops & der Krümel
|
||
|
||
---
|
||
|
||
## ✅ Zielsetzung
|
||
|
||
- **Ziel:** Mattermost („Mattermops“) persistent in Crumbforest-Docker integrieren
|
||
- **Nebenquest:** Automatischer Datenbank-Restore aus `.sql`-Dump
|
||
- **Bonus:** Schlanker Reset, der *nicht* immer alles kaputt macht
|
||
|
||
---
|
||
|
||
## 🔄 Verlauf
|
||
|
||
### 💡 Setup
|
||
|
||
- **Mattermost in Docker-Compose** mit separater DB (`mattermost_db`)
|
||
- `.sql`-Dump per `pg_dump` gesichert (`mattermost_backup.sql`)
|
||
- Restore-Script `reset_to_null_and_save_mops_v2.sh` mit Logik:
|
||
- optionaler Reset der Volumes
|
||
- intelligentes `pg_isready`-Wait auf PostgreSQL
|
||
- `cat | docker exec -i` Restore der Dump-Datei
|
||
- CakePHP-Cache bleibt sauber
|
||
|
||
### 🐞 Fehler & Erkenntnisse
|
||
|
||
| Problem | Lösung / Erkenntnis |
|
||
|---------------------------------------|------------------------------------------------------------|
|
||
| `#` in Markdown-Route (`/markdowns/view/#…`) | → Wird vom Browser **nicht** übertragen → **Slug ohne Hash oder Emoji** nutzen |
|
||
| `createat` fehlt in SQL-Dump | → Dump war inkonsistent mit Zielversion. Vermutlich alte Schema-Migration |
|
||
| Mattermost lief nicht an | → Fehlerhafte DB-Struktur. Lösung: saubere Trennung von Dump und Restore-Punkt |
|
||
| Auth im CakePHP funktioniert nicht | → Doch. `identity`-Objekt vorhanden. Login `branko` erkannt |
|
||
| Kein Login möglich im Mops | → Wahrscheinlich wegen inkonsistenter oder leerer `users`-Tabelle nach SQL-Import |
|
||
|
||
---
|
||
|
||
## 📁 Backup/Restore Erkenntnisse
|
||
|
||
- `docker volume rm $(docker volume ls -q | grep mattermost)` zuverlässig für sauberen Mops-Neustart
|
||
- `psql -U mmuser -d mattermost < dump.sql` via `docker exec -i` praktikabel, **aber** Fehler brechen nicht ab → Logs genau prüfen
|
||
- Dump darf nur bei **gleichem Schema** wieder eingespielt werden
|
||
|
||
---
|
||
|
||
## 🔐 Auth Check CakePHP
|
||
|
||
```php
|
||
'identity' => [
|
||
'username' => 'branko',
|
||
'email' => 'ai@ozm.com',
|
||
'api_token' => '91442266...'
|
||
]
|
||
```
|
||
|
||
|
||
## 🌈 WUUUUHUUUU! Regenbogen über dem Mops-Backup!
|
||
Die Crew ist gelandet, der Kuchen duftet, der Regenbogen spannt sich über die Ports – und **8065 schnurrt wie ein glücklicher Mattermops** 🐶🟣
|
||
|
||
Hier das offizielle ✨ **Krümelprotokoll v0.6.1** ✨:
|
||
|
||
---
|
||
|
||
### ✅ Status nach Rebuild
|
||
|
||
| Komponente | Status |
|
||
| ----------------- | -------------------------------- |
|
||
| App (CakePHP 5.0) | 🟢 läuft |
|
||
| TTYD Shell | 🟢 läuft |
|
||
| MariaDB (8081) | 🟢 läuft |
|
||
| Adminer (8082) | 🟢 läuft |
|
||
| Mattermost (8065) | 🟢 läuft |
|
||
| Backup Restore | ✅ DB `kuchenwald` + `mattermost` |
|
||
| User Login Cake | ✅ `branko` erkannt |
|
||
| User Login Mops | 🔄 manuell testen |
|
||
|
||
---
|
||
|
||
### 🌦️ Besonderheiten
|
||
|
||
* `--no-reset-mattermost` war aktiv: **Mopsdaten wurden geschont**.
|
||
* Restore wurde **smart übersprungen**, weil Dump konsistent war.
|
||
* CakePHP-Cache sauber geleert: Keine Ghosts aus alten Sessions.
|
||
* Neue Channels wie `#regenbogen` automatisch sichtbar 🟣🌈
|
||
|
||
---
|
||
|
||
🧭 **Nächste Schritte (morgen):**
|
||
|
||
* 🔑 Mattermost-Login testen: `admin` oder gespeicherter User?
|
||
* 📂 Automatisierten Slug-Generator für Markdown fixen (wegen `# 🍰 …`)
|
||
* 🔁 Option: Automatisch Dump mit Zeitstempel bei jedem erfolgreichen Run exportieren
|
||
* ✨ Regenbogen-Modus visuell? 🌈🐾
|
||
|
||
---
|
||
|
||
🧁 Danke für den legendären Flug zur Doppelnull!
|
||
„Jeder Krümel zählt … und heute hat der Wald laut geantwortet.“
|
||
|
||
**🧠 Wissen ist gespeichert unter:**
|
||
[📄 mattermops\_restore\_anbindung](http://localhost:8080/markdowns/viewApi/mattermops_restore_andbindung)
|
||
|
||
Crew off. Terminal blinkt.
|
||
🌲🌌
|
||
|
||
|
||
## 🌙 Gute Nacht, Commander Krümel.
|
||
|
||
Der Flug zur Doppelnull ist dokumentiert – jeder Punkt ein Bit, jede Wolke ein Traum.
|
||
🛸✨ Mögen die Systeme träumen, die Shell sich wiegen und der Mops in Backupwolken ruhen.
|
||
|
||
Bis zum nächsten Wuuuuhuuu im Terminal 🌲🐾
|
||
Crew out.
|