diff --git a/app/Livewire/Server/Show.php b/app/Livewire/Server/Show.php index e758f0f54..1d82ead9e 100644 --- a/app/Livewire/Server/Show.php +++ b/app/Livewire/Server/Show.php @@ -388,11 +388,13 @@ public function checkHetznerServerStatus(bool $manual = false) $this->hetznerServerStatus = $serverData['status'] ?? null; - // Save status to database - $this->server->update(['hetzner_server_status' => $this->hetznerServerStatus]); - - if ($manual) { - $this->dispatch('success', 'Server status refreshed: '.ucfirst($this->hetznerServerStatus ?? 'unknown')); + // Save status to database without triggering model events + if ($this->server->hetzner_server_status !== $this->hetznerServerStatus) { + $this->server->hetzner_server_status = $this->hetznerServerStatus; + $this->server->update(['hetzner_server_status' => $this->hetznerServerStatus]); + if ($manual) { + $this->dispatch('success', 'Server status refreshed: '.ucfirst($this->hetznerServerStatus ?? 'unknown')); + } } // If Hetzner server is off but Coolify thinks it's still reachable, update Coolify's state diff --git a/resources/views/livewire/server/show.blade.php b/resources/views/livewire/server/show.blade.php index f47f24b20..5f99ad97f 100644 --- a/resources/views/livewire/server/show.blade.php +++ b/resources/views/livewire/server/show.blade.php @@ -10,19 +10,38 @@

General

@if ($server->hetzner_server_id) -
- - - - - @if ($hetznerServerStatus) - - @if (in_array($hetznerServerStatus, ['starting', 'initializing'])) +
+
+ + + + + @if ($hetznerServerStatus) + + @if (in_array($hetznerServerStatus, ['starting', 'initializing'])) + + + + + + @endif + $hetznerServerStatus === 'running', + 'text-red-500' => $hetznerServerStatus === 'off', + ])> + {{ ucfirst($hetznerServerStatus) }} + + + @else + - @endif - $hetznerServerStatus === 'running', - 'text-red-500' => $hetznerServerStatus === 'off', - ])> - {{ ucfirst($hetznerServerStatus) }} + Checking status... - - @else - - - - - - - Checking status... - - @endif + @endif +
+ +
@if ($server->cloudProviderToken && !$server->isFunctional() && $hetznerServerStatus === 'off') @if ($server->isSentinelLive()) - Save - Restart + Save + Restart Sentinel Logs - Logs + Logs @else - Save - Sync + Save + Sync Sentinel Logs - Logs + Logs @endif
@@ -345,14 +365,14 @@ class="w-full input opacity-50 cursor-not-allowed"
+ label="Enable Sentinel" :disabled="$isValidating" /> @if ($server->isSentinelEnabled()) @if (isDev()) + label="Enable Sentinel (with debug)" instantSave :disabled="$isValidating" /> @endif + id="isMetricsEnabled" label="Enable Metrics" :disabled="$isValidating" /> @else @if (isDev()) isSentinelEnabled())
+ label="Sentinel token" required helper="Token for Sentinel." :disabled="$isValidating" /> Regenerate + wire:click="regenerateSentinelToken" :disabled="$isValidating">Regenerate
+ helper="URL to your Coolify instance. If it is empty that means you do not have a FQDN set for your Coolify instance." + :disabled="$isValidating" />
+ helper="Interval used for gathering metrics. Lower values result in more disk space usage." + :disabled="$isValidating" /> + helper="Number of days to retain metrics data for." :disabled="$isValidating" /> + helper="Interval at which metrics data is sent to the collector." + :disabled="$isValidating" />
@endif