From 93a95bdf4391abd1e44dbb3093ab5ea9a5f3f169 Mon Sep 17 00:00:00 2001 From: James Peters Date: Sat, 14 Feb 2026 00:03:12 +0000 Subject: [PATCH 01/51] Added extra documentation on format for port + path when configuring domain rewrites --- .../views/livewire/project/application/general.blade.php | 4 ++-- .../views/livewire/project/service/edit-domain.blade.php | 2 +- resources/views/livewire/project/service/index.blade.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/views/livewire/project/application/general.blade.php b/resources/views/livewire/project/application/general.blade.php index f576a4a12..be59fa884 100644 --- a/resources/views/livewire/project/application/general.blade.php +++ b/resources/views/livewire/project/application/general.blade.php @@ -54,7 +54,7 @@ @if (!isDatabaseImage(data_get($service, 'image')))
@@ -106,7 +106,7 @@ x-bind:disabled="!canUpdate" /> @else @can('update', $application) Generate Domain diff --git a/resources/views/livewire/project/service/edit-domain.blade.php b/resources/views/livewire/project/service/edit-domain.blade.php index 0691146f6..7ca7a9685 100644 --- a/resources/views/livewire/project/service/edit-domain.blade.php +++ b/resources/views/livewire/project/service/edit-domain.blade.php @@ -10,7 +10,7 @@ + helper="You can specify one domain with path or more with comma. You can specify a port to bind the domain to.

Example
- http://app.coolify.io,https://cloud.coolify.io/dashboard
- http://app.coolify.io/api/v3
- http://app.coolify.io:3000 -> app.coolify.io will point to port 3000 inside the container.
- http://app.coolify.io:8080/api -> app.coolify.io/api will point to port 8080 inside the container.">
Save diff --git a/resources/views/livewire/project/service/index.blade.php b/resources/views/livewire/project/service/index.blade.php index 04d30ae60..6d9cd3ee2 100644 --- a/resources/views/livewire/project/service/index.blade.php +++ b/resources/views/livewire/project/service/index.blade.php @@ -66,11 +66,11 @@ class="{{ request()->routeIs('project.service.configuration') ? 'menu-item-activ @if ($serviceApplication->required_fqdn) + helper="You can specify one domain with path or more with comma. You can specify a port to bind the domain to.

Example
- http://app.coolify.io,https://cloud.coolify.io/dashboard
- http://app.coolify.io/api/v3
- http://app.coolify.io:3000 -> app.coolify.io will point to port 3000 inside the container.
- http://app.coolify.io:8080/api -> app.coolify.io/api will point to port 8080 inside the container."> @else + helper="You can specify one domain with path or more with comma. You can specify a port to bind the domain to.

Example
- http://app.coolify.io,https://cloud.coolify.io/dashboard
- http://app.coolify.io/api/v3
- http://app.coolify.io:3000 -> app.coolify.io will point to port 3000 inside the container.
- http://app.coolify.io:8080/api -> app.coolify.io/api will point to port 8080 inside the container."> @endif @endif Date: Mon, 16 Feb 2026 08:47:00 +0100 Subject: [PATCH 02/51] feat(services): add architecture warning --- app/Console/Commands/Generate/Services.php | 24 ++++++++++++++++ app/Livewire/GlobalSearch.php | 5 +++- .../views/livewire/global-search.blade.php | 14 ++++++++++ .../livewire/project/new/select.blade.php | 28 +++++++++++++++++++ 4 files changed, 70 insertions(+), 1 deletion(-) diff --git a/app/Console/Commands/Generate/Services.php b/app/Console/Commands/Generate/Services.php index 42f9360bb..e316fc391 100644 --- a/app/Console/Commands/Generate/Services.php +++ b/app/Console/Commands/Generate/Services.php @@ -88,6 +88,14 @@ private function processFile(string $file): false|array $payload['envs'] = base64_encode($envFileContent); } + if (str($data->get('amd_only'))->toBoolean()) { + $payload['amd_only'] = true; + } + + if (str($data->get('arm_only'))->toBoolean()) { + $payload['arm_only'] = true; + } + return $payload; } @@ -160,6 +168,14 @@ private function processFileWithFqdn(string $file): false|array $payload['envs'] = base64_encode($modifiedEnvContent); } + if (str($data->get('amd_only'))->toBoolean()) { + $payload['amd_only'] = true; + } + + if (str($data->get('arm_only'))->toBoolean()) { + $payload['arm_only'] = true; + } + return $payload; } @@ -229,6 +245,14 @@ private function processFileWithFqdnRaw(string $file): false|array $payload['envs'] = $modifiedEnvContent; } + if (str($data->get('amd_only'))->toBoolean()) { + $payload['amd_only'] = true; + } + + if (str($data->get('arm_only'))->toBoolean()) { + $payload['arm_only'] = true; + } + return $payload; } } diff --git a/app/Livewire/GlobalSearch.php b/app/Livewire/GlobalSearch.php index ed9115093..56804d823 100644 --- a/app/Livewire/GlobalSearch.php +++ b/app/Livewire/GlobalSearch.php @@ -1495,7 +1495,10 @@ public function getServicesProperty() 'type' => 'one-click-service-'.$serviceKey, 'category' => 'Services', 'resourceType' => 'service', - ]); + ] + array_filter([ + 'amd_only' => data_get($service, 'amd_only') ? true : null, + 'arm_only' => data_get($service, 'arm_only') ? true : null, + ])); } $cachedServices = $items->toArray(); diff --git a/resources/views/livewire/global-search.blade.php b/resources/views/livewire/global-search.blade.php index 27b8d2821..8a5b19e92 100644 --- a/resources/views/livewire/global-search.blade.php +++ b/resources/views/livewire/global-search.blade.php @@ -822,6 +822,20 @@ class="h-5 w-5 text-warning-600 dark:text-warning-400"
+ + +
+ + AMD only + +
+
+ This service only supports AMD64/x86_64 architecture. It will not work + on ARM-based servers (e.g., Apple Silicon, Raspberry Pi, AWS Graviton). +
+
+
+ +