Markt
Mit dem Markt installieren, aktualisieren und entfernen Administratoren Apps in
der Weboberfläche. Die Apps kommen aus dem Marketplace unter
https://marketplace.owncloud.online. Für Server ohne Internetzugang lässt sich
stattdessen ein Katalog im Dateisystem einrichten. Die App bringt außerdem die
occ-Befehle market:* mit.
Verfügbarkeit
Im Kern enthalten. Das Serverarchiv bringt die App mit und schaltet sie bei
der Installation ein. App-ID market, Version 0.10.10 in owncloud.online
11.0.25. Der Marketplace führt sie zusätzlich als öffentliche App.
Voraussetzungen
| Bereich | Anforderung |
|---|---|
| owncloud.online | 11.x |
| PHP | 8.4 oder neuer |
| Netzwerk | ausgehende HTTPS-Verbindungen vom Server zu marketplace.owncloud.online. Ohne Internetzugang siehe Ohne Internetzugang. |
| App-Verzeichnis | für den Benutzer des Webservers beschreibbar, operation.mode steht auf single-instance |
| Cron | für die tägliche Suche nach Updates |
Installation
Nichts zu tun: Die App gehört zum Server. Wurde sie abgeschaltet:
sudo -u www-data php8.4 occ app:enable market
Solange die App aus ist, fehlen der Eintrag Markt im App-Menü und alle
Befehle occ market:*.
Apps installieren und aktualisieren
Den Markt öffnen Administratoren im App-Menü links oben unter Markt. Andere Konten sehen den Eintrag nicht.

Die Ansicht Entdecken: links Suche, Kategorien und Einstellungen, rechts die Apps aus dem Marketplace.
| Eintrag in der Seitenleiste | Inhalt |
|---|---|
| Apps suchen … | filtert die angezeigte Liste |
| Entdecken | alle Apps des Katalogs |
| Installierte Apps | alle Apps dieser Instanz mit Version, Status und Kompatibilität |
| App-Bundles | Pakete aus mehreren Apps |
| Updates | Apps, für die der Katalog eine neuere Version hat |
| Kategorien | der Katalog nach Kategorien |
| Einstellungen | API Schlüssel hinzufügen und Cache leeren |
So installieren Sie eine App:
- Die App unter Entdecken oder über die Suche finden und Details öffnen.
- Installieren klicken.
Der Markt lädt das Paket, entpackt es in das beschreibbare App-Verzeichnis und schaltet die App ein. Führt der Katalog eine SHA-256-Prüfsumme (der Marketplace tut das), vergleicht der Markt das Paket vorher damit. Scheitert das Einschalten, löscht er das entpackte Verzeichnis wieder.
Neue Versionen stehen unter Updates. Aktualisieren spielt sie ein.
Dieselben Schritte auf der Kommandozeile:
| Befehl | Wirkung |
|---|---|
occ market:list |
App-IDs aller Apps im Katalog |
occ market:install <app-id> |
installiert die App und schaltet sie ein. Ist sie schon da, spielt der Befehl ein Update innerhalb der Hauptversion ein. |
occ market:install --local <paket.tar.gz> |
installiert ein Paket aus dem Dateisystem, schaltet die App aber nicht ein. Danach occ app:enable <app-id> ausführen. |
occ market:upgrade --list |
zeigt verfügbare Updates |
occ market:upgrade <app-id> oder --all |
aktualisiert eine oder alle Apps |
occ market:upgrade --major <app-id> |
lässt den Wechsel der Hauptversion zu |
occ market:uninstall <app-id> |
schaltet die App ab und löscht ihr Verzeichnis |
Alle Befehle laufen als Benutzer des Webservers, zum Beispiel
sudo -u www-data php8.4 occ market:list. Was beim Entfernen mit den Daten
einer App geschieht, steht unter
Apps und Marketplace.
API-Schlüssel eintragen
Manche Apps zeigt der Marketplace nur mit einem API-Schlüssel. Ihre Seiten in
dieser Dokumentation beginnen mit dem Kasten „Nur mit API-Schlüssel“. Ohne
Schlüssel fehlen diese Apps im Katalog, und occ market:install meldet
„Unbekannte App (…)“.
- Den Schlüssel bei der BW-Tech GmbH anfragen.
- Im Markt in der Seitenleiste unter Einstellungen auf API Schlüssel hinzufügen klicken.
- Den Schlüssel in das Feld Dein persönlicher API-Key einfügen und Speichern klicken.

„API Schlüssel hinzufügen“ öffnet diesen Dialog. Den Schlüssel erhalten Sie von der BW-Tech GmbH.
Der Markt prüft den Schlüssel beim Marketplace und lädt danach den Katalog neu. Ist der Schlüssel angenommen, heißt der Eintrag in der Seitenleiste Bearbeite API Schlüssel, und die zusätzlichen Apps stehen unter Entdecken. Steht dort weiter API Schlüssel hinzufügen, hat der Marketplace den Schlüssel abgelehnt, und der Markt hat ihn nicht gespeichert.
Auf der Kommandozeile:
sudo -u www-data php8.4 occ config:app:set market key --value '<API-SCHLÜSSEL>'
Danach im Markt Cache leeren wählen. Sonst arbeiten Oberfläche und
occ market:install bis zu 30 Minuten lang mit dem zwischengespeicherten
Katalog ohne die zusätzlichen Apps.
Steht der Schlüssel als 'marketplace.key' => '<API-SCHLÜSSEL>', in
config/config.php, hat dieser Eintrag Vorrang. Der Markt blendet
API Schlüssel hinzufügen dann aus. Ändern lässt sich der Schlüssel nur noch
in config.php.
Einstellungen in config.php
| Schlüssel | Vorgabe | Wirkung |
|---|---|---|
appstoreurl |
https://marketplace.owncloud.online |
Adresse des Marketplace. file:///pfad schaltet auf einen eigenen Katalog im Dateisystem um, local auf den Beispielkatalog in der App. |
marketplace.key |
nicht gesetzt | API-Schlüssel. Hat Vorrang vor dem Schlüssel aus der Oberfläche. |
marketplace.ca |
nicht gesetzt | Pfad zu einer CA-Datei, mit der der Markt das TLS-Zertifikat des Marketplace prüft, etwa hinter einem Proxy mit eigener CA |
has_internet_connection |
true |
false sperrt Katalog und Downloads vom Marketplace. Ein Katalog im Dateisystem funktioniert weiter. Der Markt erkennt nur den Wahrheitswert true; mit occ config:system:set deshalb immer --type boolean angeben. |
Geht der Server über einen Proxy ins Internet, nutzt der Markt die Einträge
proxy und proxyuserpwd aus derselben Datei.
Benachrichtigung über Updates
Ein Hintergrund-Job sucht einmal täglich nach neueren Versionen der
installierten Apps. Gemeldet werden nur Versionen, die zur laufenden
Serverversion passen. Jedes Mitglied der Gruppe admin bekommt dazu eine
Benachrichtigung: „Ein Update für … auf Version … ist verfügbar.“
Voraussetzung sind laufende Hintergrund-Jobs (siehe
Hintergrund-Jobs) und die
eingeschaltete App Benachrichtigungen.
Andere oder zusätzliche Gruppen legen Sie als JSON-Liste fest:
sudo -u www-data php8.4 occ config:app:set market notify_groups --value '["admin","it-betrieb"]'
Ohne Internetzugang
Einzelne Pakete spielen Sie direkt aus dem Dateisystem ein und schalten die App danach ein:
sudo -u www-data php8.4 occ market:install --local /srv/pakete/configreport-0.4.5.tar.gz
sudo -u www-data php8.4 occ app:enable configreport
Für einen eigenen Katalog legen Sie ein Verzeichnis mit den Dateien
apps.json, categories.json und bundles.json an, kopieren die Pakete
hinein und tragen das Verzeichnis ein:
sudo -u www-data php8.4 occ config:system:set appstoreurl --value 'file:///srv/app-katalog'
Ein Eintrag in apps.json:
[
{
"id": "configreport",
"name": "Admin Config Report",
"categories": ["tools"],
"downloadable": true,
"releases": [
{
"version": "0.4.5",
"platformMin": "11",
"platformMax": "11.99",
"license": "AGPL-3.0",
"download": "configreport-0.4.5.tar.gz",
"checksum": "sha256:<Prüfsumme>"
}
]
}
]
- Jede Kategorie aus
categoriesmuss incategories.jsonstehen, zum Beispiel[{"id": "tools", "translations": {"en": {"name": "Tools"}, "de": {"name": "Werkzeuge"}}}]. bundles.jsonenthält[], wenn Sie keine Bundles brauchen.downloadist ein Pfad relativ zum Katalogverzeichnis oder eine HTTPS-Adresse. Pfade außerhalb des Katalogverzeichnisses lehnt der Markt ab („Local app archive … is not inside the catalog directory.“).- Mit
checksumprüft der Markt jedes Paket nach dem Laden. Den Wert liefertsha256sum <paket>; übernehmen Sie nur die 64 Zeichen vor dem Dateinamen. - Verzeichnis und Pakete müssen für den Benutzer des Webservers lesbar sein.
- Der Markt liest die drei Dateien bei jedem Aufruf neu.
Das vollständige Format beschreibt die Datei marketplace/README.md im
Verzeichnis der App. Mit dem Wert local für appstoreurl zeigt der Markt den
Katalog aus diesem Verzeichnis. Er enthält nur einen Beispieleintrag und dient
als Vorlage.
Grenzen und Hinweise
- Den Markt sehen nur Administratoren.
- Die App kann sich nicht selbst entfernen („Market app can not uninstall itself.“). Mitgelieferte Apps lassen sich nur abschalten.
- Der Katalog bleibt bis zu 30 Minuten im Zwischenspeicher. Cache leeren lädt ihn sofort neu.
- Ältere Versionen spielt der Markt nicht ein. Er bietet nur Versionen an, die höher als die installierte sind und zur Serverversion passen.
- Ist das App-Verzeichnis nicht beschreibbar oder steht
operation.modeaufclustered-instance, installiert der Markt nichts. Den Weg über ein Paket von Hand beschreibt Apps und Marketplace. - Ein App-Verzeichnis mit
.gitlöschtocc market:uninstallnie.
Fehlersuche
| Meldung | Ursache | Abhilfe |
|---|---|---|
| „Unbekannte App (…)“ | Die App-ID steht nicht im Katalog: Tippfehler, App nur mit API-Schlüssel sichtbar oder der Katalog liegt noch im Zwischenspeicher | occ market:list prüfen, API-Schlüssel eintragen, Cache leeren |
| „Ungültigen API-Key für den Marktplatz eingegeben“ | Der Marketplace lehnt den hinterlegten Schlüssel ab | Schlüssel prüfen oder bei der BW-Tech GmbH einen neuen anfragen |
| „No marketplace connection: …“ (nur englisch) | Der Server erreicht den Marketplace nicht: DNS, Firewall, Proxy oder TLS-Prüfung | Verbindung vom Server aus testen, siehe unten. Bei eigener CA marketplace.ca setzen. |
| „Die Internetverbindung ist deaktiviert.“ | has_internet_connection steht auf false oder wurde ohne --type boolean gesetzt |
occ config:system:set has_internet_connection --value true --type boolean oder einen eigenen Katalog nutzen |
| „Downloaded package for … failed the sha256 checksum verification.“ (nur englisch) | Das geladene Paket passt nicht zur Prüfsumme im Katalog | Erneut versuchen. Bleibt der Fehler, der BW-Tech GmbH melden. |
| „Keine kompatible Version für … gefunden“ | Keine Version der App passt zur laufenden Serverversion | Serverversion mit occ status prüfen |
Verbindung vom Server aus testen:
curl -sS -o /dev/null -w '%{http_code}\n' https://marketplace.owncloud.online/api/v1/categories.json
Gibt der Befehl 200 aus, stimmen Namensauflösung, Firewall und Zertifikat.
Hinter einem Proxy ergänzen Sie -x http://<proxy>:<port>.