remove networks and cleanup unused images when stoping dockercompose build pack containers

This commit is contained in:
ayntk-ai
2024-08-08 01:19:17 +02:00
parent df796dffa2
commit 070daee28e

View File

@@ -3,6 +3,7 @@
namespace App\Actions\Application; namespace App\Actions\Application;
use App\Models\Application; use App\Models\Application;
use App\Actions\Server\CleanupDocker;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
class StopApplication class StopApplication
@@ -13,7 +14,6 @@ class StopApplication
{ {
if ($application->destination->server->isSwarm()) { if ($application->destination->server->isSwarm()) {
instant_remote_process(["docker stack rm {$application->uuid}"], $application->destination->server); instant_remote_process(["docker stack rm {$application->uuid}"], $application->destination->server);
return; return;
} }
@@ -23,7 +23,7 @@ class StopApplication
$servers->push($server); $servers->push($server);
}); });
foreach ($servers as $server) { foreach ($servers as $server) {
if (! $server->isFunctional()) { if (!$server->isFunctional()) {
return 'Server is not functional'; return 'Server is not functional';
} }
if ($previewDeployments) { if ($previewDeployments) {
@@ -44,10 +44,11 @@ class StopApplication
} }
} }
if ($application->build_pack === 'dockercompose') { if ($application->build_pack === 'dockercompose') {
// remove network
$uuid = $application->uuid; $uuid = $application->uuid;
instant_remote_process(["docker network disconnect {$uuid} coolify-proxy"], $server, false); instant_remote_process(["docker network disconnect {$uuid} coolify-proxy"], $server, false);
instant_remote_process(["docker network rm {$uuid}"], $server, false); instant_remote_process(["docker network rm {$uuid}"], $server, false);
CleanupDocker::run($server, true);
} }
} }
} }