From 365f957b8a728a5b1c19eed4753d93228364c847 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Mon, 12 Aug 2024 12:43:06 +0200
Subject: [PATCH 07/16] remove duplicated sentinel pull job
---
app/Jobs/ServerCheckJob.php | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/app/Jobs/ServerCheckJob.php b/app/Jobs/ServerCheckJob.php
index 1db15cfd4..703b199c5 100644
--- a/app/Jobs/ServerCheckJob.php
+++ b/app/Jobs/ServerCheckJob.php
@@ -79,7 +79,6 @@ class ServerCheckJob implements ShouldBeEncrypted, ShouldQueue
}
GetContainersStatus::run($this->server, $this->containers, $containerReplicates);
$this->checkLogDrainContainer();
- $this->checkSentinel();
}
} catch (\Throwable $e) {
@@ -90,21 +89,6 @@ class ServerCheckJob implements ShouldBeEncrypted, ShouldQueue
}
- private function checkSentinel()
- {
- if ($this->server->isSentinelEnabled()) {
- $sentinelContainerFound = $this->containers->filter(function ($value, $key) {
- return data_get($value, 'Name') === '/coolify-sentinel';
- })->first();
- if ($sentinelContainerFound) {
- $status = data_get($sentinelContainerFound, 'State.Status');
- if ($status !== 'running') {
- PullSentinelImageJob::dispatch($this);
- }
- }
- }
- }
-
private function serverStatus()
{
['uptime' => $uptime] = $this->server->validateConnection();
From 53bcf81af50e41fcb4c25a057f331d93d33612d6 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Wed, 14 Aug 2024 21:52:12 +0200
Subject: [PATCH 08/16] fix get corn job correctly form server settings
---
app/Console/Kernel.php | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index 912b790f0..252d23021 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -29,12 +29,13 @@ class Kernel extends ConsoleKernel
{
$this->all_servers = Server::all();
$settings = InstanceSettings::get();
+ $mainServer = Server::find(0);
+ $serverSettings = $mainServer->settings;
if (isDev()) {
// Instance Jobs
$schedule->command('horizon:snapshot')->everyMinute();
$schedule->job(new CleanupInstanceStuffsJob)->everyMinute()->onOneServer();
-
// Server Jobs
$this->check_scheduled_backups($schedule);
$this->check_resources($schedule);
@@ -43,10 +44,10 @@ class Kernel extends ConsoleKernel
} else {
// Instance Jobs
$schedule->command('horizon:snapshot')->everyFiveMinutes();
- $schedule->command('cleanup:unreachable-servers')->cron($settings->server_cleanup_frequency)->onOneServer();
+ $schedule->command('cleanup:unreachable-servers')->cron($serverSettings->server_cleanup_frequency)->onOneServer();
$schedule->job(new PullCoolifyImageJob)->cron($settings->update_check_frequency)->onOneServer();
$schedule->job(new PullTemplatesFromCDN)->cron($settings->update_check_frequency)->onOneServer();
- $schedule->job(new CleanupInstanceStuffsJob)->cron($settings->server_cleanup_frequency)->onOneServer();
+ $schedule->job(new CleanupInstanceStuffsJob)->cron($serverSettings->server_cleanup_frequency)->onOneServer();
$this->schedule_updates($schedule);
// Server Jobs
@@ -56,7 +57,7 @@ class Kernel extends ConsoleKernel
$this->check_scheduled_tasks($schedule);
$schedule->command('cleanup:database --yes')->daily();
- $schedule->command('uploads:clear')->cron($settings->server_cleanup_frequency)->onOneServer();
+ $schedule->command('uploads:clear')->cron($serverSettings->server_cleanup_frequency)->onOneServer();
}
}
@@ -94,7 +95,9 @@ class Kernel extends ConsoleKernel
private function check_resources($schedule)
{
- $settings = InstanceSettings::get();
+ $mainServer = Server::find(0);
+ $serverSettings = $mainServer->settings;
+
if (isCloud()) {
$servers = $this->all_servers->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended', false)->where('ip', '!=', '1.2.3.4');
$own = Team::find(0)->servers;
@@ -104,7 +107,7 @@ class Kernel extends ConsoleKernel
}
foreach ($servers as $server) {
$schedule->job(new ServerCheckJob($server))->everyMinute()->onOneServer();
- $schedule->job(new DockerCleanupJob($server))->cron($settings->server_cleanup_frequency)->onOneServer();
+ $schedule->job(new DockerCleanupJob($server))->cron($serverSettings->server_cleanup_frequency)->onOneServer();
}
}
From 8aa161d530a3a511588055ffd8a0b128be186513 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Wed, 14 Aug 2024 21:53:03 +0200
Subject: [PATCH 09/16] remove unnecessary cron
---
app/Jobs/DockerCleanupJob.php | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/app/Jobs/DockerCleanupJob.php b/app/Jobs/DockerCleanupJob.php
index 6c5e22b0a..9736ed026 100644
--- a/app/Jobs/DockerCleanupJob.php
+++ b/app/Jobs/DockerCleanupJob.php
@@ -12,7 +12,6 @@ use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
-use Cron\CronExpression;
class DockerCleanupJob implements ShouldBeEncrypted, ShouldQueue
{
@@ -22,23 +21,18 @@ class DockerCleanupJob implements ShouldBeEncrypted, ShouldQueue
public int|string|null $usageBefore = null;
- public function __construct(public Server $server)
- {
- }
+ public function __construct(public Server $server) {}
public function handle(): void
{
try {
- if (!$this->server->isFunctional()) {
+ if (! $this->server->isFunctional()) {
return;
}
- if ($this->server->settings->force_server_cleanup) {
- $cronExpression = $this->server->settings->server_cleanup_frequency;
- $cron = new CronExpression($cronExpression);
- if ($cron->isDue()) {
- Log::info('DockerCleanupJob force cleanup on ' . $this->server->name);
- CleanupDocker::run(server: $this->server, force: true);
- }
+ if ($this->server->settings->is_force_cleanup_enabled) {
+ Log::info('DockerCleanupJob force cleanup on ' . $this->server->name);
+ CleanupDocker::run(server: $this->server, force: true);
+
return;
}
@@ -49,7 +43,7 @@ class DockerCleanupJob implements ShouldBeEncrypted, ShouldQueue
return;
}
- if ($this->usageBefore >= $this->server->settings->server_cleanup_threshold) {
+ if ($this->usageBefore >= $this->server->settings->cleanup_after_percentage) {
CleanupDocker::run(server: $this->server, force: false);
$usageAfter = $this->server->getDiskUsage();
if ($usageAfter < $this->usageBefore) {
From a4f80fd260db572d1898318ae25805efbe7b362a Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Wed, 14 Aug 2024 21:54:01 +0200
Subject: [PATCH 10/16] required server settings and make sure cron is a string
---
app/Livewire/Server/Form.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php
index 963df3f4d..1e959ae0b 100644
--- a/app/Livewire/Server/Form.php
+++ b/app/Livewire/Server/Form.php
@@ -46,8 +46,8 @@ class Form extends Component
'wildcard_domain' => 'nullable|url',
'server.settings.is_server_api_enabled' => 'required|boolean',
'server.settings.force_server_cleanup' => 'required|boolean',
- 'server.settings.server_cleanup_frequency' => 'required_if:server.settings.force_server_cleanup,true',
- 'server.settings.server_cleanup_threshold' => 'required|integer|min:1|max:100',
+ 'server.settings.server_cleanup_frequency' => 'required_if:server.settings.force_server_cleanup,true|string',
+ 'server.settings.server_cleanup_threshold' => 'required_if:server.settings.force_server_cleanup,false|integer|min:1|max:100',
];
protected $validationAttributes = [
@@ -212,4 +212,4 @@ class Form extends Component
$this->server->save();
$this->dispatch('success', 'Server updated.');
}
-}
+}
\ No newline at end of file
From f93fe75de9d12e1ef9a3144fd35b51170f66389c Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Wed, 14 Aug 2024 21:54:28 +0200
Subject: [PATCH 11/16] new fields in server setttings
---
app/Models/ServerSetting.php | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/app/Models/ServerSetting.php b/app/Models/ServerSetting.php
index c39982b91..1521fab3f 100644
--- a/app/Models/ServerSetting.php
+++ b/app/Models/ServerSetting.php
@@ -10,10 +10,10 @@ use OpenApi\Attributes as OA;
type: 'object',
properties: [
'id' => ['type' => 'integer'],
- 'cleanup_after_percentage' => ['type' => 'integer'],
'concurrent_builds' => ['type' => 'integer'],
'dynamic_timeout' => ['type' => 'integer'],
'force_disabled' => ['type' => 'boolean'],
+ 'force_server_cleanup' => ['type' => 'boolean'],
'is_build_server' => ['type' => 'boolean'],
'is_cloudflare_tunnel' => ['type' => 'boolean'],
'is_jump_server' => ['type' => 'boolean'],
@@ -37,6 +37,8 @@ use OpenApi\Attributes as OA;
'metrics_history_days' => ['type' => 'integer'],
'metrics_refresh_rate_seconds' => ['type' => 'integer'],
'metrics_token' => ['type' => 'string'],
+ 'server_cleanup_frequency' => ['type' => 'string'],
+ 'server_cleanup_threshold' => ['type' => 'integer'],
'server_id' => ['type' => 'integer'],
'wildcard_domain' => ['type' => 'string'],
'created_at' => ['type' => 'string'],
@@ -47,8 +49,13 @@ class ServerSetting extends Model
{
protected $guarded = [];
+ protected $casts = [
+ 'force_server_cleanup' => 'boolean',
+ 'server_cleanup_threshold' => 'integer',
+ ];
+
public function server()
{
return $this->belongsTo(Server::class);
}
-}
+}
\ No newline at end of file
From f1f6dea04ff51714f0742c4aa601220d62093142 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Wed, 14 Aug 2024 21:54:46 +0200
Subject: [PATCH 12/16] updated cron validation for the case of null, return
false
---
bootstrap/helpers/shared.php | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php
index aae4fafd4..6e0f6dd35 100644
--- a/bootstrap/helpers/shared.php
+++ b/bootstrap/helpers/shared.php
@@ -355,9 +355,17 @@ function isCloud(): bool
function validate_cron_expression($expression_to_validate): bool
{
+ if ($expression_to_validate === null || $expression_to_validate === '') {
+ return false;
+ }
+
$isValid = false;
- $expression = new CronExpression($expression_to_validate);
- $isValid = $expression->isValid();
+ try {
+ $expression = new CronExpression($expression_to_validate);
+ $isValid = $expression->isValid();
+ } catch (\Exception $e) {
+ return false;
+ }
if (isset(VALID_CRON_STRINGS[$expression_to_validate])) {
$isValid = true;
From 4ab13ecf00f000dcc9517f7d278507c5c35db95f Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Sun, 18 Aug 2024 22:08:37 +0200
Subject: [PATCH 13/16] revert wrong branch :)
---
bootstrap/helpers/shared.php | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php
index 6e0f6dd35..aae4fafd4 100644
--- a/bootstrap/helpers/shared.php
+++ b/bootstrap/helpers/shared.php
@@ -355,17 +355,9 @@ function isCloud(): bool
function validate_cron_expression($expression_to_validate): bool
{
- if ($expression_to_validate === null || $expression_to_validate === '') {
- return false;
- }
-
$isValid = false;
- try {
- $expression = new CronExpression($expression_to_validate);
- $isValid = $expression->isValid();
- } catch (\Exception $e) {
- return false;
- }
+ $expression = new CronExpression($expression_to_validate);
+ $isValid = $expression->isValid();
if (isset(VALID_CRON_STRINGS[$expression_to_validate])) {
$isValid = true;
From 5d32bd250bc245b597455733425d67003abe24db Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Sun, 18 Aug 2024 22:41:06 +0200
Subject: [PATCH 14/16] Fix cleanup Docker according to feedback
---
app/Actions/Server/CleanupDocker.php | 47 ++++++++++++----------------
1 file changed, 20 insertions(+), 27 deletions(-)
diff --git a/app/Actions/Server/CleanupDocker.php b/app/Actions/Server/CleanupDocker.php
index 82515ab6b..b38e5765b 100644
--- a/app/Actions/Server/CleanupDocker.php
+++ b/app/Actions/Server/CleanupDocker.php
@@ -11,36 +11,29 @@ class CleanupDocker
public function handle(Server $server, bool $force = true)
{
- $commonCommands = [
- 'docker container prune -f --filter "label=coolify.managed=true"',
- 'docker image prune -f',
- 'docker builder prune -f',
- 'docker network prune -f',
- ];
-
- $forceCommands = [
- 'docker container rm $(docker container ls -aq --filter status=exited --filter status=created)',
- 'docker image prune -af',
- 'docker builder prune -af',
- 'docker system prune -af',
- 'docker network prune -f',
- ];
-
- $additionalCommands = [
- 'docker rmi $(docker images -f "dangling=true" -q)',
- 'docker network rm $(docker network ls -q -f "unused=true")',
- 'docker system prune -f',
- ];
-
- if ($force) {
- $commands = array_merge($forceCommands, $commonCommands, $additionalCommands);
- $commands[] = 'docker rm $(docker ps -a -q --filter status=exited --filter status=created)';
- } else {
- $commands = array_merge($commonCommands, $additionalCommands);
- }
+ $commands = $this->getCommands($force);
foreach ($commands as $command) {
instant_remote_process([$command], $server, false);
}
}
+
+ private function getCommands(bool $force): array
+ {
+ $commonCommands = [
+ 'docker container prune -f --filter "label=coolify.managed=true"',
+ 'docker image prune -f',
+ 'docker builder prune -f',
+ ];
+
+ if ($force) {
+ return array_merge([
+ 'docker container rm $(docker container ls -aq --filter status=exited --filter "label=coolify.managed=true")',
+ 'docker image prune -af',
+ 'docker builder prune -af',
+ ], $commonCommands);
+ }
+
+ return $commonCommands;
+ }
}
From 012c23586d5f8b4a54be9f442432320739200d62 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Sun, 18 Aug 2024 23:16:59 +0200
Subject: [PATCH 15/16] rename to docker cleanup and and feedback
implementation
---
app/Console/Kernel.php | 17 ++++++++---------
app/Jobs/DockerCleanupJob.php | 4 ++--
app/Livewire/Server/Form.php | 18 +++++++++---------
app/Models/ServerSetting.php | 8 ++++----
...cleanup_fields_to_server_settings_table.php | 12 ++++++------
resources/views/livewire/server/form.blade.php | 9 ++++-----
6 files changed, 33 insertions(+), 35 deletions(-)
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index 252d23021..073f5898d 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -29,8 +29,6 @@ class Kernel extends ConsoleKernel
{
$this->all_servers = Server::all();
$settings = InstanceSettings::get();
- $mainServer = Server::find(0);
- $serverSettings = $mainServer->settings;
if (isDev()) {
// Instance Jobs
@@ -44,10 +42,10 @@ class Kernel extends ConsoleKernel
} else {
// Instance Jobs
$schedule->command('horizon:snapshot')->everyFiveMinutes();
- $schedule->command('cleanup:unreachable-servers')->cron($serverSettings->server_cleanup_frequency)->onOneServer();
+ $schedule->command('cleanup:unreachable-servers')->daily()->onOneServer();
$schedule->job(new PullCoolifyImageJob)->cron($settings->update_check_frequency)->onOneServer();
$schedule->job(new PullTemplatesFromCDN)->cron($settings->update_check_frequency)->onOneServer();
- $schedule->job(new CleanupInstanceStuffsJob)->cron($serverSettings->server_cleanup_frequency)->onOneServer();
+ $schedule->job(new CleanupInstanceStuffsJob)->everyTwoMinutes()->onOneServer();
$this->schedule_updates($schedule);
// Server Jobs
@@ -57,7 +55,7 @@ class Kernel extends ConsoleKernel
$this->check_scheduled_tasks($schedule);
$schedule->command('cleanup:database --yes')->daily();
- $schedule->command('uploads:clear')->cron($serverSettings->server_cleanup_frequency)->onOneServer();
+ $schedule->command('uploads:clear')->everyTwoMinutes();
}
}
@@ -95,9 +93,6 @@ class Kernel extends ConsoleKernel
private function check_resources($schedule)
{
- $mainServer = Server::find(0);
- $serverSettings = $mainServer->settings;
-
if (isCloud()) {
$servers = $this->all_servers->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended', false)->where('ip', '!=', '1.2.3.4');
$own = Team::find(0)->servers;
@@ -107,7 +102,11 @@ class Kernel extends ConsoleKernel
}
foreach ($servers as $server) {
$schedule->job(new ServerCheckJob($server))->everyMinute()->onOneServer();
- $schedule->job(new DockerCleanupJob($server))->cron($serverSettings->server_cleanup_frequency)->onOneServer();
+ //The lines below need to be added as soon as timzone is merged!!
+ //$serverTimezone = $server->settings->server_timezone;
+ //$schedule->job(new DockerCleanupJob($server))->cron($server->settings->docker_cleanup_frequency)->timezone($serverTimezone)->onOneServer();
+ $schedule->job(new DockerCleanupJob($server))->cron($server->settings->docker_cleanup_frequency)->onOneServer();
+
}
}
diff --git a/app/Jobs/DockerCleanupJob.php b/app/Jobs/DockerCleanupJob.php
index 9736ed026..a44d283ce 100644
--- a/app/Jobs/DockerCleanupJob.php
+++ b/app/Jobs/DockerCleanupJob.php
@@ -29,7 +29,7 @@ class DockerCleanupJob implements ShouldBeEncrypted, ShouldQueue
if (! $this->server->isFunctional()) {
return;
}
- if ($this->server->settings->is_force_cleanup_enabled) {
+ if ($this->server->settings->force_docker_cleanup) {
Log::info('DockerCleanupJob force cleanup on ' . $this->server->name);
CleanupDocker::run(server: $this->server, force: true);
@@ -60,4 +60,4 @@ class DockerCleanupJob implements ShouldBeEncrypted, ShouldQueue
throw $e;
}
}
-}
+}
\ No newline at end of file
diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php
index 1e959ae0b..2c96a4f16 100644
--- a/app/Livewire/Server/Form.php
+++ b/app/Livewire/Server/Form.php
@@ -45,9 +45,9 @@ class Form extends Component
'server.settings.metrics_history_days' => 'required|integer|min:1',
'wildcard_domain' => 'nullable|url',
'server.settings.is_server_api_enabled' => 'required|boolean',
- 'server.settings.force_server_cleanup' => 'required|boolean',
- 'server.settings.server_cleanup_frequency' => 'required_if:server.settings.force_server_cleanup,true|string',
- 'server.settings.server_cleanup_threshold' => 'required_if:server.settings.force_server_cleanup,false|integer|min:1|max:100',
+ 'server.settings.force_docker_cleanup' => 'required|boolean',
+ 'server.settings.docker_cleanup_frequency' => 'required_if:server.settings.force_docker_cleanup,true|string',
+ 'server.settings.docker_cleanup_threshold' => 'required_if:server.settings.force_docker_cleanup,false|integer|min:1|max:100',
];
protected $validationAttributes = [
@@ -73,17 +73,17 @@ class Form extends Component
public function mount()
{
$this->wildcard_domain = $this->server->settings->wildcard_domain;
- $this->server->settings->server_cleanup_threshold = $this->server->settings->server_cleanup_threshold;
- $this->server->settings->server_cleanup_frequency = $this->server->settings->server_cleanup_frequency;
+ $this->server->settings->docker_cleanup_threshold = $this->server->settings->docker_cleanup_threshold;
+ $this->server->settings->docker_cleanup_frequency = $this->server->settings->docker_cleanup_frequency;
}
public function updated($field)
{
- if ($field === 'server.settings.server_cleanup_frequency') {
- $frequency = $this->server->settings->server_cleanup_frequency;
+ if ($field === 'server.settings.docker_cleanup_frequency') {
+ $frequency = $this->server->settings->docker_cleanup_frequency;
if (empty($frequency) || !validate_cron_expression($frequency)) {
- $this->dispatch('error', 'Invalid Cron / Human expression for Server Cleanup Frequency. Resetting to default 10 minutes.');
- $this->server->settings->server_cleanup_frequency = '*/10 * * * *';
+ $this->dispatch('error', 'Invalid Cron / Human expression for Docker Cleanup Frequency. Resetting to default 10 minutes.');
+ $this->server->settings->docker_cleanup_frequency = '*/10 * * * *';
}
}
}
diff --git a/app/Models/ServerSetting.php b/app/Models/ServerSetting.php
index 1521fab3f..6ef7f46ee 100644
--- a/app/Models/ServerSetting.php
+++ b/app/Models/ServerSetting.php
@@ -37,8 +37,8 @@ use OpenApi\Attributes as OA;
'metrics_history_days' => ['type' => 'integer'],
'metrics_refresh_rate_seconds' => ['type' => 'integer'],
'metrics_token' => ['type' => 'string'],
- 'server_cleanup_frequency' => ['type' => 'string'],
- 'server_cleanup_threshold' => ['type' => 'integer'],
+ 'docker_cleanup_frequency' => ['type' => 'string'],
+ 'docker_cleanup_threshold' => ['type' => 'integer'],
'server_id' => ['type' => 'integer'],
'wildcard_domain' => ['type' => 'string'],
'created_at' => ['type' => 'string'],
@@ -50,8 +50,8 @@ class ServerSetting extends Model
protected $guarded = [];
protected $casts = [
- 'force_server_cleanup' => 'boolean',
- 'server_cleanup_threshold' => 'integer',
+ 'force_docker_cleanup' => 'boolean',
+ 'docker_cleanup_threshold' => 'integer',
];
public function server()
diff --git a/database/migrations/2024_08_09_215659_add_server_cleanup_fields_to_server_settings_table.php b/database/migrations/2024_08_09_215659_add_server_cleanup_fields_to_server_settings_table.php
index b1c1881e9..4e1bfb357 100644
--- a/database/migrations/2024_08_09_215659_add_server_cleanup_fields_to_server_settings_table.php
+++ b/database/migrations/2024_08_09_215659_add_server_cleanup_fields_to_server_settings_table.php
@@ -14,9 +14,9 @@ class AddServerCleanupFieldsToServerSettingsTable extends Migration
public function up()
{
Schema::table('server_settings', function (Blueprint $table) {
- $table->boolean('force_server_cleanup')->default(false);
- $table->string('server_cleanup_frequency')->default('*/10 * * * *');
- $table->integer('server_cleanup_threshold')->default(80);
+ $table->boolean('force_docker_cleanup')->default(false);
+ $table->string('docker_cleanup_frequency')->default('*/10 * * * *');
+ $table->integer('docker_cleanup_threshold')->default(80);
// Remove old columns
@@ -33,9 +33,9 @@ class AddServerCleanupFieldsToServerSettingsTable extends Migration
public function down()
{
Schema::table('server_settings', function (Blueprint $table) {
- $table->dropColumn('force_server_cleanup');
- $table->dropColumn('server_cleanup_frequency');
- $table->dropColumn('server_cleanup_threshold');
+ $table->dropColumn('force_docker_cleanup');
+ $table->dropColumn('docker_cleanup_frequency');
+ $table->dropColumn('docker_cleanup_threshold');
// Add back old columns
diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php
index 5408ab2b4..ee8855321 100644
--- a/resources/views/livewire/server/form.blade.php
+++ b/resources/views/livewire/server/form.blade.php
@@ -126,12 +126,11 @@
-
-
- @if ($server->settings->force_server_cleanup)
-
+
+ @if ($server->settings->force_docker_cleanup)
+
@else
-
+
@endif
From 0337c4e79d628d3a56ccd7ac030190d082ec1d81 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Sun, 18 Aug 2024 23:27:24 +0200
Subject: [PATCH 16/16] Fix submit method naming
---
app/Livewire/Server/Form.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php
index 2c96a4f16..7c176c952 100644
--- a/app/Livewire/Server/Form.php
+++ b/app/Livewire/Server/Form.php
@@ -203,10 +203,10 @@ class Form extends Component
}
refresh_server_connection($this->server->privateKey);
$this->server->settings->wildcard_domain = $this->wildcard_domain;
- if ($this->server->settings->force_server_cleanup) {
- $this->server->settings->server_cleanup_frequency = $this->server->settings->server_cleanup_frequency;
+ if ($this->server->settings->force_docker_cleanup) {
+ $this->server->settings->docker_cleanup_frequency = $this->server->settings->docker_cleanup_frequency;
} else {
- $this->server->settings->server_cleanup_threshold = $this->server->settings->server_cleanup_threshold;
+ $this->server->settings->docker_cleanup_threshold = $this->server->settings->docker_cleanup_threshold;
}
$this->server->settings->save();
$this->server->save();