diff --git a/app/Actions/Server/RestartContainer.php b/app/Actions/Server/RestartContainer.php new file mode 100644 index 000000000..63361d8b7 --- /dev/null +++ b/app/Actions/Server/RestartContainer.php @@ -0,0 +1,16 @@ +restartContainer($containerName); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index e954b98c9..67ff819ed 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -120,6 +120,13 @@ class Kernel extends ConsoleKernel } else { $schedule->job(new DockerCleanupJob($server))->everyTenMinutes()->timezone($serverTimezone)->onOneServer(); } + + // Temporary solution until we have better memory management for Sentinel + if ($server->isSentinelEnabled()) { + $schedule->job(function () use ($server) { + $server->restartContainer('coolify-sentinel'); + })->daily()->onOneServer(); + } } } diff --git a/app/Models/Server.php b/app/Models/Server.php index 2f023a248..c9915e3fb 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -1253,4 +1253,9 @@ $schema://$host { { return base_url().'/server/'.$this->uuid; } + + public function restartContainer(string $containerName) + { + return instant_remote_process(['docker restart '.$containerName], $this, false); + } }