Skip to content

FlutCloud App de

opencode edited this page Aug 14, 2026 · 5 revisions

FlutCloud-Nextcloud-App

EN: English → FlutCloud App

Die FlutCloud-Nextcloud-App (flutcloud-app/ im Repository) ist die serverseitige Ergänzung des FlutLink-Desktop-Clients. Sie liefert die Nicht-Standard-Funktionen des FlutCloud-Servers — die Teile, die Vanilla- Nextcloud nicht bietet — und sie sagt FlutLink: „Das ist ein FlutCloud-Server, nicht irgendein Nextcloud."

FlutLink verbindet sich ausschließlich mit Servern, die diese App ausführen. Vor jedem Konto-Login fragt der Client den OCS-Capabilities-Endpoint (/ocs/v2.php/cloud/capabilities?format=json) ab und bricht ab, wenn die flutcloud-Capability nicht angekündigt wird.

Voraussetzungen

Voraussetzung Version
Nextcloud-Server 28 – 31
PHP 8.1+
Composer optional — nur für den OCA-Autoloader

Die App selbst hat keine Laufzeit-PHP-Abhängigkeiten; der Composer-Autoloader wird nur für den OCA\FlutCloud\-Namespace gebraucht (PSR-4 → lib/).

Funktionen

Feature Was es tut
Capability Kündigt ocs.data.capabilities.flutcloud an — der FlutCloud-Server-Marker
Ping GET /ocs/v2.php/apps/flutcloud/api/v1/ping — App-Info zur Client-Prüfung
Virtuelle Links Schreibgeschützte resources/-Ordner, verwaltet über die Links-API
Schreibbare Parts Beschreibbare parts/-Ordner, verwaltet über die Parts-API
Projektordner /FlutLink/FlutCloud im Admin-Home mit zweisprachiger README

Installation

Via Installationsskript

Führe Folgendes auf dem Rechner aus, der den Nextcloud-Server hostet (PowerShell 7+). Das Skript findet die Nextcloud-Installation automatisch (oder akzeptiert -NextcloudRoot), lädt die App aus dem Repository nach nextcloud/apps/flutcloud herunter, aktiviert sie mit occ und prüft sie:

iex (irm https://raw.githubusercontent.com/OseMine/FlutLink/main/scripts/install-flutcloud-app.ps1)

oder mit curl:

curl.exe -sL https://raw.githubusercontent.com/OseMine/FlutLink/main/scripts/install-flutcloud-app.ps1 | iex

Auf Ubuntu-/Debian-Servern funktioniert auch das native Bash-Installationsskript ohne PowerShell:

curl -sL https://raw.githubusercontent.com/OseMine/FlutLink/main/scripts/install-flutcloud-app.sh | bash

Speichere das Skript zuerst in eine Datei, um Parameter zu übergeben — zum Beispiel für das offizielle Nextcloud-Docker-Image oder um den Composer-Autoloader zu erzeugen:

irm https://raw.githubusercontent.com/OseMine/FlutLink/main/scripts/install-flutcloud-app.ps1 -OutFile install-flutcloud-app.ps1
./install-flutcloud-app.ps1 -DockerContainer nextcloud -Composer

Nützliche Parameter: -NextcloudRoot <Pfad> (sonst automatisch erkannt), -Ref <Tag-oder-Branch> (Standard: letztes Release), -WebUser <Benutzer> (Standard: www-data), -NoSudo, -SkipVerify (Bash-Pendants: --nextcloud-root, --ref, --web-user, --no-sudo, --skip-verify, plus --docker-container und --composer). Wie die curl | iex- / curl | bash-Muster funktionieren, welche Optionen es gibt und wie du Probleme behebst, findest du unter Installationsskripte. Die manuellen Schritte unten entsprechen dem, was die Skripte tun.

Manuelle Installation

  1. App kopieren in das Nextcloud-Apps-Verzeichnis auf dem Server:

    cp -r flutcloud-app nextcloud/apps/flutcloud

    Das Verzeichnis muss flutcloud heißen (es muss der <id> in appinfo/info.xml entsprechen).

  2. Autoloader erzeugen (optional, aber empfohlen):

    cd nextcloud/apps/flutcloud
    php composer.phar install --no-dev

    Ist Composer nicht verfügbar, funktioniert die App trotzdem — Nextclouds eigenes Autoloading übernimmt den OCA\FlutCloud\-Namespace über appinfo/info.xml und den Code unter lib/.

  3. App aktivieren:

    cd /var/www/nextcloud
    sudo -u www-data php occ app:enable flutcloud

    (www-data durch den Webserver-Benutzer ersetzen; beim offiziellen nextcloud-Docker-Image docker exec -u www-data nextcloud php occ app:enable flutcloud verwenden.)

  4. Prüfen, dass die Capability ausgeliefert wird:

    curl -u alice:apptoken "https://YOUR-SERVER/ocs/v2.php/cloud/capabilities?format=json"

    ocs.data.capabilities.flutcloud muss vorhanden sein. FlutLink akzeptiert den Server damit als FlutCloud-Instanz.

API

Alle Routen liegen unter /ocs/v2.php/apps/flutcloud/api/v1 und benötigen einen angemeldeten Benutzer (außer dem Capabilities-Endpoint, der öffentlich ist):

Methode Pfad Beschreibung
GET /ping App-Info: { app, name, version, features, user }
GET /links Virtuelle Links auflisten (Unterordner von resources/)
POST /links Virtuellen Link erstellen (name als Form/Query-Parameter)
DELETE /links/{name} Virtuellen Link löschen
GET /parts Schreibbare Parts auflisten (Unterordner von parts/)
POST /parts Schreibbaren Part erstellen (name-Parameter)
POST /project-folder /FlutLink/FlutCloud sicherstellen (nur Admin)

Link-/Part-Einträge werden als { name, path, readOnly } zurückgegeben.

Fehlerbehebung

  • FlutLink lehnt den Server ab — die Capability wird nicht angekündigt. Prüfen, dass die App aktiv ist (php occ app:list | grep flutcloud), das Verzeichnis flutcloud heißt und das curl oben ocs.data.capabilities.flutcloud liefert.
  • composer nicht gefunden — Composer installieren oder Schritt 2 überspringen; die App läuft ohne generierten Autoloader.
  • App lässt sich nicht aktivieren — Nextcloud-Version 28–31 und PHP 8.1+ prüfen (siehe <dependencies> in appinfo/info.xml).
  • Permissions-Fehler — sicherstellen, dass die App-Dateien dem Webserver-Benutzer gehören und nextcloud/apps/ beschreibbar ist.

Entwicklung

composer check   # php -l Lint aller Quelldateien

Bei Versionsanhebung appinfo/info.xml, composer.json und die von /ping gelieferte version synchron halten.

Getting Started

Features / Funktionen

Architecture & Sync

Components / Komponenten

Security & Development

Clone this wiki locally