feat: coolify init should cleanup stuck networks in proxy
This commit is contained in:
@@ -24,6 +24,7 @@ function collectProxyDockerNetworksByServer(Server $server)
|
||||
}
|
||||
function collectDockerNetworksByServer(Server $server)
|
||||
{
|
||||
$allNetworks = collect([]);
|
||||
if ($server->isSwarm()) {
|
||||
$networks = collect($server->swarmDockers)->map(function ($docker) {
|
||||
return $docker['network'];
|
||||
@@ -34,11 +35,13 @@ function collectDockerNetworksByServer(Server $server)
|
||||
return $docker['network'];
|
||||
});
|
||||
}
|
||||
$allNetworks = $allNetworks->merge($networks);
|
||||
// Service networks
|
||||
foreach ($server->services()->get() as $service) {
|
||||
if ($service->isRunning()) {
|
||||
$networks->push($service->networks());
|
||||
}
|
||||
$allNetworks->push($service->networks());
|
||||
}
|
||||
// Docker compose based apps
|
||||
$docker_compose_apps = $server->dockerComposeBasedApplications();
|
||||
@@ -46,6 +49,7 @@ function collectDockerNetworksByServer(Server $server)
|
||||
if ($app->isRunning()) {
|
||||
$networks->push($app->uuid);
|
||||
}
|
||||
$allNetworks->push($app->uuid);
|
||||
}
|
||||
// Docker compose based preview deployments
|
||||
$docker_compose_previews = $server->dockerComposeBasedPreviewDeployments();
|
||||
@@ -61,23 +65,30 @@ function collectDockerNetworksByServer(Server $server)
|
||||
}
|
||||
$network = "{$application->uuid}-{$pullRequestId}";
|
||||
$networks->push($network);
|
||||
$allNetworks->push($network);
|
||||
}
|
||||
$networks = collect($networks)->flatten()->unique();
|
||||
$allNetworks = $allNetworks->flatten()->unique();
|
||||
if ($server->isSwarm()) {
|
||||
if ($networks->count() === 0) {
|
||||
$networks = collect(['coolify-overlay']);
|
||||
$allNetworks = collect(['coolify-overlay']);
|
||||
}
|
||||
} else {
|
||||
if ($networks->count() === 0) {
|
||||
$networks = collect(['coolify']);
|
||||
$allNetworks = collect(['coolify']);
|
||||
}
|
||||
}
|
||||
|
||||
return $networks;
|
||||
return [
|
||||
'networks' => $networks,
|
||||
'allNetworks' => $allNetworks,
|
||||
];
|
||||
}
|
||||
function connectProxyToNetworks(Server $server)
|
||||
{
|
||||
$networks = collectDockerNetworksByServer($server);
|
||||
['networks' => $networks] = collectDockerNetworksByServer($server);
|
||||
if ($server->isSwarm()) {
|
||||
$commands = $networks->map(function ($network) {
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user