diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php index fa5fb7d93..0207e4a80 100644 --- a/app/Jobs/ApplicationDeploymentJob.php +++ b/app/Jobs/ApplicationDeploymentJob.php @@ -24,6 +24,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Sleep; use Illuminate\Support\Str; use RuntimeException; @@ -740,6 +741,10 @@ private function save_environment_variables() $envs->push("SOURCE_COMMIT=unknown"); } } + $envs = $envs->sort(function ($a, $b) { + return strpos($a, '$') === false ? -1 : 1; + }); + Log::info("message", $envs->implode("\n")); } else { $this->env_filename = ".env"; foreach ($this->application->environment_variables as $env) { @@ -775,6 +780,10 @@ private function save_environment_variables() } if ($envs->isEmpty()) { + $this->env_filename = null; + if ($this->use_build_server) { + $this->server = $this->original_server; + } $this->execute_remote_command( [ "command" => "rm -f $this->configuration_dir/{$this->env_filename}", @@ -782,8 +791,28 @@ private function save_environment_variables() "ignore_errors" => true ] ); - $this->env_filename = null; - return; + if ($this->use_build_server) { + $this->server = $this->build_server; + } + } else { + $envs_base64 = base64_encode($envs->implode("\n")); + $this->execute_remote_command( + [ + executeInDocker($this->deployment_uuid, "echo '$envs_base64' | base64 -d | tee $this->workdir/{$this->env_filename} > /dev/null") + ], + + ); + if ($this->use_build_server) { + $this->server = $this->original_server; + } + $this->execute_remote_command( + [ + "echo '$envs_base64' | base64 -d | tee $this->configuration_dir/{$this->env_filename} > /dev/null" + ] + ); + if ($this->use_build_server) { + $this->server = $this->build_server; + } } // $this->execute_remote_command([ // executeInDocker($this->deployment_uuid, "cat $this->workdir/.env 2>/dev/null || true"), @@ -806,15 +835,7 @@ private function save_environment_variables() // ] // ); // } - $envs_base64 = base64_encode($envs->implode("\n")); - $this->execute_remote_command( - [ - executeInDocker($this->deployment_uuid, "echo '$envs_base64' | base64 -d | tee $this->workdir/{$this->env_filename} > /dev/null") - ], - [ - "echo '$envs_base64' | base64 -d | tee $this->configuration_dir/{$this->env_filename} > /dev/null" - ] - ); + } @@ -1295,7 +1316,7 @@ private function generate_compose_file() // $docker_compose['services'][$this->container_name]['env_file'] = [$this->env_filename]; // } // } - if ($this->env_filename) { + if (!is_null($this->env_filename)) { $docker_compose['services'][$this->container_name]['env_file'] = [$this->env_filename]; } if (!$this->custom_healthcheck_found) { diff --git a/app/Models/Server.php b/app/Models/Server.php index fb3443d94..bda044320 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -860,6 +860,9 @@ public function validateCoolifyNetwork($isSwarm = false, $isBuildServer = false) } public function isNonRoot() { + if ($this->user instanceof Stringable) { + return $this->user->value() !== 'root'; + } return $this->user !== 'root'; } } diff --git a/config/sentry.php b/config/sentry.php index f3296a6fc..02a4ff296 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -7,7 +7,7 @@ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) - 'release' => '4.0.0-beta.264', + 'release' => '4.0.0-beta.265', // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index e3c856795..7ac4ffcba 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ $line['hidden'], - 'text-red-500 font-bold' => $line['type'] == 'stderr', + 'text-red-500 font-bold whitespace-pre-line' => $line['type'] == 'stderr', ])>[{{ $line['timestamp'] }}] @if ($line['hidden'])

[COMMAND] {{ $line['command'] }}
[OUTPUT] @endif @if (str($line['output'])->contains('http://') || str($line['output'])->contains('https://')) @@ -100,7 +100,7 @@ class="fixed top-4 right-16" x-on:click="toggleScroll"> @endforeach diff --git a/versions.json b/versions.json index 25e842001..7958e0d24 100644 --- a/versions.json +++ b/versions.json @@ -1,7 +1,7 @@ { "coolify": { "v4": { - "version": "4.0.0-beta.264" + "version": "4.0.0-beta.265" } } }