isFunctional()) { $commands = []; foreach ($service->applications()->get() as $application) { foreach ($application->persistentStorages()->get() as $storage) { $commands[] = 'docker volume rm -f '.escapeshellarg($storage->name); } } foreach ($service->databases()->get() as $database) { foreach ($database->persistentStorages()->get() as $storage) { $commands[] = 'docker volume rm -f '.escapeshellarg($storage->name); } } foreach ($commands as $command) { instant_remote_process([$command], $server, false); } } if ($deleteConnectedNetworks) { $service->deleteConnectedNetworks(); } if ($deleteConfigurations) { $service->deleteConfigurations(); } instant_remote_process(["docker rm -f $service->uuid"], $server, throwError: false); } public function deleteLocal(Service $service): void { foreach ($service->applications()->get() as $application) { $application->forceDelete(); } foreach ($service->databases()->get() as $database) { $database->forceDelete(); } foreach ($service->scheduled_tasks as $task) { $task->delete(); } $service->environment_variables()->delete(); $service->tags()->detach(); $service->forceDelete(); } }