diff --git a/app/Actions/Service/DeleteService.php b/app/Actions/Service/DeleteService.php
index f32a44262..13b5cc50b 100644
--- a/app/Actions/Service/DeleteService.php
+++ b/app/Actions/Service/DeleteService.php
@@ -14,12 +14,10 @@ class DeleteService
{
try {
$server = data_get($service, 'server');
-
- if ($server->isFunctional()) {
+ if ($deleteVolumes && $server->isFunctional()) {
$storagesToDelete = collect([]);
$service->environment_variables()->delete();
-
$commands = [];
foreach ($service->applications()->get() as $application) {
$storages = $application->persistentStorages()->get();
@@ -33,27 +31,33 @@ class DeleteService
$storagesToDelete->push($storage);
}
}
-
- // Delete volumes if the flag is set
- if ($deleteVolumes) {
- foreach ($service->applications()->get() as $application) {
- $persistentStorages = $application->persistentStorages()->get();
- $application->delete_volumes($persistentStorages);
- }
+ foreach ($storagesToDelete as $storage) {
+ $commands[] = "docker volume rm -f $storage->name";
}
- // Delete networks if the flag is set
- if ($deleteConnectedNetworks) {
- $uuid = $service->uuid;
- $service->delete_connected_networks($uuid);
- }
-
- // Command to remove the service itself
- $commands[] = "docker rm -f $service->uuid";
-
// Execute all commands
- instant_remote_process($commands, $server, false);
+ if (!empty($commands)) {
+ foreach ($commands as $command) {
+ $result = instant_remote_process([$command], $server, false);
+ if ($result !== 0) {
+ ray("Failed to execute: $command");
+ }
+ }
+ }
}
+
+ // Delete networks if the flag is set
+ if ($deleteConnectedNetworks) {
+ $uuid = $service->uuid;
+ $service->delete_connected_networks($uuid);
+ }
+
+ // Command to remove the service itself
+ $commands[] = "docker rm -f $service->uuid";
+
+ // Execute all commands
+ instant_remote_process($commands, $server, false);
+
} catch (\Exception $e) {
throw new \Exception($e->getMessage());
} finally {
@@ -79,4 +83,4 @@ class DeleteService
}
}
}
-}
+}
\ No newline at end of file
diff --git a/resources/views/livewire/project/shared/danger.blade.php b/resources/views/livewire/project/shared/danger.blade.php
index 6d00f357c..174731eea 100644
--- a/resources/views/livewire/project/shared/danger.blade.php
+++ b/resources/views/livewire/project/shared/danger.blade.php
@@ -10,7 +10,7 @@
again.