diff --git a/app/Models/Service.php b/app/Models/Service.php index 8440dee6a..ddf200946 100644 --- a/app/Models/Service.php +++ b/app/Models/Service.php @@ -408,6 +408,7 @@ class Service extends BaseModel $savedService->save(); } } + data_forget($service, "environment.$variableName"); continue; } if ($value?->startsWith('$')) { @@ -422,10 +423,17 @@ class Service extends BaseModel $forService = $value->afterLast('_'); $generatedValue = null; if ($command->value() === 'FQDN' || $command->value() === 'URL') { - $fqdn = generateFqdn($this->server, $containerName); + if (Str::lower($forService) === $serviceName) { + $fqdn = generateFqdn($this->server, $containerName); + } else { + $fqdn = generateFqdn($this->server, Str::lower($forService) . '-' . $this->uuid); + } if ($foundEnv) { $fqdn = data_get($foundEnv, 'value'); } else { + if ($command->value() === 'URL') { + $fqdn = Str::of($fqdn)->after('://')->value(); + } EnvironmentVariable::create([ 'key' => $key, 'value' => $fqdn, @@ -434,10 +442,11 @@ class Service extends BaseModel 'is_preview' => false, ]); } - if (!$isDatabase) { - $savedService->fqdn = $fqdn; - $savedService->save(); + if ($command->value() === 'FQDN') { + $savedService->fqdn = $fqdn; + $savedService->save(); + } } } else { switch ($command) { diff --git a/bootstrap/helpers/services.php b/bootstrap/helpers/services.php index 2590049ad..762b83563 100644 --- a/bootstrap/helpers/services.php +++ b/bootstrap/helpers/services.php @@ -137,13 +137,18 @@ function updateCompose($resource) // Update FQDN $variableName = "SERVICE_FQDN_" . Str::of($resource->name)->upper(); - ray($variableName); $generatedEnv = EnvironmentVariable::where('service_id', $resource->service_id)->where('key', $variableName)->first(); if ($generatedEnv) { $generatedEnv->value = $resource->fqdn; $generatedEnv->save(); } - + $variableName = "SERVICE_URL_" . Str::of($resource->name)->upper(); + $generatedEnv = EnvironmentVariable::where('service_id', $resource->service_id)->where('key', $variableName)->first(); + if ($generatedEnv) { + $url = Str::of($resource->fqdn)->after('://'); + $generatedEnv->value = $url; + $generatedEnv->save(); + } $dockerComposeRaw = Yaml::dump($dockerCompose, 10, 2); $resource->service->docker_compose_raw = $dockerComposeRaw; diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index 01f9d55ae..eee61602d 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -14,6 +14,7 @@ use Illuminate\Mail\Message; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Route;