diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 3b320366f..0faaf4967 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -3,8 +3,8 @@ namespace App\Console; use App\Jobs\InstanceAutoUpdateJob; -use App\Jobs\InstanceProxyCheckJob; -use App\Jobs\InstanceDockerCleanupJob; +use App\Jobs\ProxyCheckJob; +use App\Jobs\DockerCleanupJob; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -14,12 +14,13 @@ class Kernel extends ConsoleKernel { if (isDev()) { $schedule->command('horizon:snapshot')->everyMinute(); - // $schedule->job(new InstanceDockerCleanupJob)->everyMinute(); + // $schedule->job(new DockerCleanupJob)->everyMinute(); // $schedule->job(new InstanceAutoUpdateJob(true))->everyMinute(); } else { $schedule->command('horizon:snapshot')->everyFiveMinutes(); - $schedule->job(new InstanceDockerCleanupJob)->everyFiveMinutes(); - $schedule->job(new InstanceProxyCheckJob)->everyFiveMinutes(); + $schedule->job(new DockerCleanupJob)->everyFiveMinutes(); + + $schedule->job(new ProxyCheckJob)->everyFiveMinutes(); $schedule->job(new InstanceAutoUpdateJob)->everyTenMinutes(); } } diff --git a/app/Http/Livewire/Settings/Configuration.php b/app/Http/Livewire/Settings/Configuration.php index d0ce9435e..41eae45fd 100644 --- a/app/Http/Livewire/Settings/Configuration.php +++ b/app/Http/Livewire/Settings/Configuration.php @@ -2,7 +2,7 @@ namespace App\Http\Livewire\Settings; -use App\Jobs\InstanceProxyCheckJob; +use App\Jobs\ProxyCheckJob; use App\Models\InstanceSettings as ModelsInstanceSettings; use App\Models\Server; use Livewire\Component; @@ -138,7 +138,7 @@ class Configuration extends Component $this->server = Server::findOrFail(0); $this->setup_instance_fqdn(); if ($this->settings->fqdn) { - dispatch(new InstanceProxyCheckJob()); + dispatch(new ProxyCheckJob()); } $this->emit('success', 'Instance settings updated successfully!'); } diff --git a/app/Jobs/DockerCleanupJob.php b/app/Jobs/DockerCleanupJob.php new file mode 100644 index 000000000..9e9258cd5 --- /dev/null +++ b/app/Jobs/DockerCleanupJob.php @@ -0,0 +1,52 @@ +where('mount', $docker_root_filesystem)->first(); + if (Str::of(data_get($mount_point, 'use%'))->trim()->replace('%', '')->value() > 60) { + continue; + } + instant_remote_process(['docker image prune -af'], $server); + instant_remote_process(['docker container prune -f --filter "label=coolify.managed=true"'], $server); + instant_remote_process(['docker builder prune -af'], $server); + } + } catch (\Exception $e) { + Log::error($e->getMessage()); + } + } +} diff --git a/app/Jobs/InstanceDockerCleanupJob.php b/app/Jobs/InstanceDockerCleanupJob.php deleted file mode 100644 index 418ac6786..000000000 --- a/app/Jobs/InstanceDockerCleanupJob.php +++ /dev/null @@ -1,39 +0,0 @@ -getMessage()); - } - } -} diff --git a/app/Jobs/InstanceProxyCheckJob.php b/app/Jobs/ProxyCheckJob.php similarity index 95% rename from app/Jobs/InstanceProxyCheckJob.php rename to app/Jobs/ProxyCheckJob.php index 6d90f1be3..bdc38b875 100755 --- a/app/Jobs/InstanceProxyCheckJob.php +++ b/app/Jobs/ProxyCheckJob.php @@ -11,7 +11,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -class InstanceProxyCheckJob implements ShouldQueue +class ProxyCheckJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;