diff --git a/CHANGELOG.md b/CHANGELOG.md index 27fb753..cc85af5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,3 +48,4 @@ Alle Einträge verwenden ISO-8601-Timestamps in UTC. Mehrere Änderungen desselb - Realm-Dashboard korrigiert: Es fragt nur noch die konfigurierte Portainer-Umgebung ab, benötigt keine globale Endpoint-Liste oder Endpoint-Metadaten mehr und verwendet direkt den Docker-Proxy. - Fehlgeschlagene, bereits bezahlte Provisionierungen können durch Administratoren erneut gestartet werden. - Administratoren erhalten bei fehlgeschlagenen Instanzaktionen einen bereinigten technischen Diagnosehinweis inklusive cURL-Fehlerdetails bei Verbindungsproblemen. +- Löschaktionen verwenden jetzt den korrekten Docker-API-Endpunkt mit `force=true`. diff --git a/dashboard.php b/dashboard.php index 438053a..85b6f27 100644 --- a/dashboard.php +++ b/dashboard.php @@ -150,7 +150,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $db->prepare('UPDATE instances SET portainer_container_id = :cid, status = "running", error_message = NULL WHERE id = :id')->execute(['cid' => $newContainerId, 'id' => $instanceId]); $message = 'Die Instanz wurde neu bereitgestellt. Die Daten in /data wurden beibehalten.'; } else { - $apiPath = '/api/endpoints/' . $endpoint . '/docker/containers/' . $containerId . '/' . $operation; + $apiPath = $operation === 'delete' + ? '/api/endpoints/' . $endpoint . '/docker/containers/' . $containerId . '?force=true' + : '/api/endpoints/' . $endpoint . '/docker/containers/' . $containerId . '/' . $operation; pnpaas_portainer_request($apiPath, $operation === 'delete' ? 'DELETE' : 'POST', []); $newStatus = match ($operation) { 'start', 'restart' => 'running',