{{ data_get_str($server, 'name')->limit(24) }} | Server | Coolify
@if ($server->isLocalhost()) @include('livewire.server.partials.localhost-general') @else @php $provider = match (true) { filled($server->hetzner_server_id) => 'Hetzner', filled($server->digitalocean_droplet_id) => 'DigitalOcean', filled($server->vultr_instance_id) => 'Vultr', default => null, }; $providerStatus = match ($provider) { 'Hetzner' => $hetznerServerStatus, 'DigitalOcean' => $digitalOceanDropletStatus, 'Vultr' => $vultrInstanceStatus, default => null, }; $providerStatusType = match (true) { in_array($providerStatus, ['running', 'active']) => 'success', in_array($providerStatus, ['starting', 'initializing', 'pending', 'new']) => 'warning', in_array($providerStatus, ['off', 'stopped', 'suspended', 'archive', 'deleted']) => 'error', default => 'neutral', }; $hasLinkableCloudProviders = (!$server->hetzner_server_id && $availableHetznerTokens->isNotEmpty()) || (!$server->vultr_instance_id && $availableVultrTokens->isNotEmpty()) || (!$server->digitalocean_droplet_id && $availableDigitalOceanTokens->isNotEmpty()); $hetznerMatch = $matchedHetznerServer ? [ 'name' => $matchedHetznerServer['name'] ?? 'Hetzner server', 'id' => $matchedHetznerServer['id'] ?? null, 'status' => $matchedHetznerServer['status'] ?? null, ] : null; $digitalOceanMatch = $matchedDigitalOceanDroplet ? [ 'name' => $matchedDigitalOceanDroplet['name'] ?? 'DigitalOcean Droplet', 'id' => $matchedDigitalOceanDroplet['id'] ?? null, 'status' => $matchedDigitalOceanDroplet['status'] ?? null, ] : null; $vultrMatch = $matchedVultrInstance ? [ 'name' => $matchedVultrInstance['label'] ?? $matchedVultrInstance['hostname'] ?? 'Vultr instance', 'id' => $matchedVultrInstance['id'] ?? null, 'status' => $matchedVultrInstance['status'] ?? null, ] : null; @endphp
{{-- isBuildServer uses instantSave; keep dirty tracking on explicit-save fields. --}} @if ($provider) @if ($provider === 'Hetzner') @elseif ($provider === 'DigitalOcean') @elseif ($provider === 'Vultr') @endif @endif

{{ $server->name }}

@if ($server->isFunctional()) The server is reachable, validated, and ready to host resources. @else Validate the SSH connection before using this server. @endif

@if ($server->server_metadata) @php($meta = $server->server_metadata)
@foreach ([ 'Operating system' => $meta['os'] ?? 'N/A', 'Architecture' => $meta['arch'] ?? 'N/A', 'Kernel' => $meta['kernel'] ?? 'N/A', 'CPU cores' => $meta['cpus'] ?? 'N/A', 'Memory' => isset($meta['memory_bytes']) ? round($meta['memory_bytes'] / 1073741824, 1) . ' GB' : 'N/A', 'Up since' => $meta['uptime_since'] ?? 'N/A', ] as $detailLabel => $detailValue)
{{ $detailLabel }}
{{ $detailValue }}
@endforeach
@else
Fetch server details
@endif
@if ($hasLinkableCloudProviders)
@if (!$server->hetzner_server_id && $availableHetznerTokens->isNotEmpty()) @endif @if (!$server->digitalocean_droplet_id && $availableDigitalOceanTokens->isNotEmpty()) @endif @if (!$server->vultr_instance_id && $availableVultrTokens->isNotEmpty()) @endif
@endif Validate and configure {{ $server->isFunctional() ? 'Revalidate connection' : 'Validate connection' }}
@if ($this->limaStartCommand) {{ $this->limaStartCommand }} @endif @if ($server->isForceDisabled() && isCloud()) This server is disabled because the current plan server limit was exceeded. @endif
@if (!$isSwarmWorker && !$isBuildServer) @endif
@if (!$server->isLocalhost())
@if ($isBuildServerLocked) @else @endif
@endif
@if ($server->validation_logs)
{!! $server->validation_logs !!}
@endif @endif @if ($isValidating)
Validation in progress
@endif