feat: cleanup unused docker networks from proxy

This commit is contained in:
Andras Bacsai 2024-07-11 10:17:15 +02:00
parent b37dc4c73e
commit deb4b16ae1

View File

@ -11,6 +11,8 @@ class CleanupDocker
public function handle(Server $server, bool $force = true)
{
// cleanup docker images, containers, and builder caches
if ($force) {
instant_remote_process(['docker image prune -af'], $server, false);
instant_remote_process(['docker container prune -f --filter "label=coolify.managed=true"'], $server, false);
@ -20,5 +22,15 @@ public function handle(Server $server, bool $force = true)
instant_remote_process(['docker container prune -f --filter "label=coolify.managed=true"'], $server, false);
instant_remote_process(['docker builder prune -f'], $server, false);
}
// cleanup networks
$networks = collectDockerNetworksByServer($server);
$proxyNetworks = collectProxyDockerNetworksByServer($server);
$diff = $proxyNetworks->diff($networks);
if ($diff->count() > 0) {
$diff->map(function ($network) use ($server) {
instant_remote_process(["docker network disconnect $network coolify-proxy"], $server);
instant_remote_process(["docker network rm $network"], $server);
});
}
}
}