diff --git a/app/Models/LocalFileVolume.php b/app/Models/LocalFileVolume.php index 76a15f655..3e032db0f 100644 --- a/app/Models/LocalFileVolume.php +++ b/app/Models/LocalFileVolume.php @@ -57,6 +57,7 @@ class LocalFileVolume extends BaseModel if ($content) { $content = base64_encode($content); $commands->push("echo '$content' | base64 -d > $path"); + $commands->push("chmod +x $path"); } } else if ($isDir == 'NOK' && $fileVolume->is_directory) { $commands->push("mkdir -p $path > /dev/null 2>&1 || true"); diff --git a/bootstrap/helpers/docker.php b/bootstrap/helpers/docker.php index 7b367c63c..370c05930 100644 --- a/bootstrap/helpers/docker.php +++ b/bootstrap/helpers/docker.php @@ -212,7 +212,7 @@ function generateServiceSpecificFqdns(ServiceApplication|Application $resource, } return $payload; } -function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_https_enabled = false, $onlyPort = null, ?Collection $serviceLabels = null, ?bool $is_gzip_enabled = true) +function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_https_enabled = false, $onlyPort = null, ?Collection $serviceLabels = null, ?bool $is_gzip_enabled = true, ?string $service_name = null) { $labels = collect([]); $labels->push('traefik.enable=true'); @@ -264,6 +264,10 @@ function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_ } $http_label = "http-{$loop}-{$uuid}"; $https_label = "https-{$loop}-{$uuid}"; + if ($service_name) { + $http_label = "http-{$loop}-{$uuid}-{$service_name}"; + $https_label = "https-{$loop}-{$uuid}-{$service_name}"; + } if ($schema === 'https') { // Set labels for https diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index f7939c9c3..1a91eb945 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -974,12 +974,13 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal 'is_preview' => false, ]); } - if (!$isDatabase) { - if ($command->value() === 'FQDN' && is_null($savedService->fqdn)) { - $savedService->fqdn = $fqdn; - $savedService->save(); - } - } + // if (!$isDatabase) { + // ray($savedService,$fqdn); + // if ($command->value() === 'FQDN' && is_null($savedService->fqdn)) { + // $savedService->fqdn = $fqdn; + // $savedService->save(); + // } + // } } else { $generatedValue = generateEnvValue($command); if (!$foundEnv) { @@ -1039,7 +1040,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal $serviceLabels = $serviceLabels->merge($defaultLabels); if (!$isDatabase && $fqdns->count() > 0) { if ($fqdns) { - $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($resource->uuid, $fqdns, true, serviceLabels: $serviceLabels, is_gzip_enabled: $savedService->isGzipEnabled())); + $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($resource->uuid, $fqdns, true, serviceLabels: $serviceLabels, is_gzip_enabled: $savedService->isGzipEnabled(), service_name: $serviceName)); } } if ($resource->server->isLogDrainEnabled() && $savedService->isLogDrainEnabled()) { @@ -1480,7 +1481,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal return $preview_fqdn; }); } - $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($uuid, $fqdns,serviceLabels: $serviceLabels)); + $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($uuid, $fqdns, serviceLabels: $serviceLabels)); } } }