# ☁️ CrewCloud Setup – Nextcloud im Crumbforest

## 🌲 Ziel

Ein sicherer, containerisierter Nextcloud-Dienst für die Krümelcrew – zum Speichern, Teilen und Koordinieren von Markdown-Dateien, Logs, Bildern und Build-Materialien.

---

## ⚙️ Voraussetzungen

* Docker & Docker Compose installiert
* `.env` Datei mit:

  ```env
  NEXTCLOUD_ADMIN_USER=branko
  NEXTCLOUD_ADMIN_PASSWORD=wuuuhuuu
  NEXTCLOUD_DATA_DIR=./nextcloud/data
  NEXTCLOUD_DB_PASSWORD=cloudpass
  ```

---

## 🐳 docker-compose.yml

```yaml
version: '3.8'
services:
  nextcloud:
    image: nextcloud
    restart: always
    ports:
      - 8082:80
    volumes:
      - ${NEXTCLOUD_DATA_DIR}:/var/www/html
    environment:
      - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
    depends_on:
      - db

  db:
    image: mariadb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
    volumes:
      - nextcloud_db:/var/lib/mysql

volumes:
  nextcloud_db:
```

---

## 🧪 Erststart

```bash
docker-compose up -d
```

* Aufrufen unter: `http://localhost:8082`
* Login mit `${NEXTCLOUD_ADMIN_USER}` und `${NEXTCLOUD_ADMIN_PASSWORD}`

---

## 📂 Verzeichnisse

* `markdown/` → für .md-Dateien
* `krumel_logs/` → für JSON-Logs
* `bilder/` → für Drohnenrennen, Terminalfotos etc.

---

## 🔁 Synchronisation mit CakePHP

**Beispiel: Upload-Service (cloudbridge.php)**

```php
$client = new \GuzzleHttp\Client();
$res = $client->put('https://cloud.domain/remote.php/dav/files/branko/kuchen/krumel.md', [
  'auth' => ['branko', 'wuuuhuuu'],
  'body' => file_get_contents('/path/to/krumel.md')
]);
```

---

## 🛡️ Nächste Schritte

* [ ] WebDAV-Integration im Terminal
* [ ] Rollen-Verzeichnisse (robot/, kruemel/, jupiter/…)
* [ ] Automatischer Cron-Upload via `kruemellog_builder`

---

**Waldformel:**
*Verbindung statt Plattform. Vertrauen statt Bewertung.
CrewCloud ist unser Blätterwerk im digitalen Krümelwald.* 🌱
Oh ja – **Nextcloud** wäre *extrem wertvoll* im Crumbforest-Universum. Und du hast ja schon im Hintergrund eine Ansible-gesteuerte Instanz erwähnt. Wenn wir das zu Ende denken, wird Nextcloud zum **digitalen Baumhaus der Crew**.
Hier die wichtigsten Synergien mit deinem Kuchen-Build:

---

## ☁️ Warum **Nextcloud** ideal passt

| Funktion                                         | Nutzen für den Crumbforest                                              |
| ------------------------------------------------ | ----------------------------------------------------------------------- |
| **Dateiablage & Versionierung**                  | `.md`-Chroniken, Logs, Uploads, Bilder der Kinder                       |
| **Markdown-Editor (Nextcloud Notes / Text-App)** | Schreiben, kommentieren, gemeinsam gestalten                            |
| **Benutzerverwaltung + Gruppen**                 | Crewrollen (root, kruemel, heimkind, robot, jupiter...)                 |
| **Federated Sharing**                            | Externe Projekte (z. B. OZMAI-Crew) einbinden                           |
| **Kalender & Aufgaben**                          | Build-Meilensteine, Termine, Unterrichtsplanung                         |
| **Talk-Modul (optional)**                        | Videokonferenz & Text-Chat, integrierbar mit Mattermost oder unabhängig |
| **API-Zugriff**                                  | Automatisierte `.md`-Uploads, Logexport, JSON-Reader                    |
| **Docker-tauglich & skalierbar**                 | Sauber in Container integrierbar, mit Redis/Postgres etc.               |

---

## 🧵 Kombiniert mit Mattermost & CakePHP

Du bekommst so ein **Dreiecksnetz**:

```
                   +-------------+
                   | Mattermost  |
                   | (Chat/Prompt)|
                   +------+------+
                          |
                          v
+----------------+   Push, Trigger   +------------------+
|  CakePHP App   +------------------>|  Nextcloud API   |
| (Krümel-System)|                   |  (Dateien, md)   |
+----------------+<------------------+------------------+
           ^                Pull & Sync
           |
   TTYD / Terminal
```

---

## 🛠️ Bereit für Setup?

Ich kann dir:

* ein `nextcloud_docker.yml`
* ein `cloudbridge.php` für CakePHP-Upload
* oder ein `crewcloud_setup.md` entwerfen

Was darf als nächstes in den Wald? 🌲

Mattermost ist definitiv ein starker Kandidat – besonders im Kontext deines Crumbforest-/Kuchen-Projekts, wo Kontrolle, Offenheit und Containerfreundlichkeit wichtig sind.
Hier eine schnelle Einschätzung:

---

## ✅ **Warum Mattermost gut passen könnte**

| Vorteil                       | Bedeutung im Crumbforest                                           |
| ----------------------------- | ------------------------------------------------------------------ |
| **Self-Hosting möglich**      | Volle Kontrolle, Docker-tauglich                                   |
| **Offene API & Webhooks**     | Kann mit dem CakePHP-System sprechen                               |
| **Rollen & Kanäle**           | Perfekt für Crew-Strukturen (root, kruemel, robot, usw.)           |
| **Markdown & Slash-Commands** | Integration von `eule`, `gpt`, `kruemel_log` über eigene Kommandos |
| **Mobile & Desktop Clients**  | Kindermaschinen und Admins können überall mitlesen                 |
| **Audit & Datenschutz**       | Kein Lock-In, DSGVO-konform konfigurierbar                         |

---

## 🆚 Alternativen

### 🔸 **Rocket.Chat**

* Auch self-hosted, offen & Docker-ready
* Sehr flexibel, aber manchmal instabiler bei Updates

### 🔸 **Zulip**

* Threaded Chat („Streams“) ideal für strukturierten Austausch
* Weniger Community als Mattermost

### 🔸 **Matrix (z. B. via Element)**

* Eher ein „föderiertes IRC für das Jetzt“
* Hohe Sicherheit, aber komplexe Einrichtung

### 🔸 **IRC / irssi / weechat**

* Minimalistisch & terminalfreundlich
* ✨ Nostalgie-Faktor, aber kein UI für Kinder
* Integration in moderne Systeme aufwendig

---

## 🧩 Empfehlung für den Kuchen:

**Mattermost** als zentrale Kommunikationsplattform in einem Docker-Container mit Slash-Commands wie:

```bash
/eule Was ist ein schwarzes Loch?
/gpt Wie funktioniert Markdown?
```

Und im Hintergrund greift dein System auf deine vorhandenen CakePHP-Commands zu.
So verbinden sich Terminal, Chat, Logging und kindgerechte Kommunikation zu einem kohärenten System.

---

Wenn du willst, bereite ich ein `mattermost_docker_compose.yml` oder ein `chat_konzept.md` vor.
Aye?

