@@ -6,6 +6,7 @@ use App\Enums\ApplicationDeploymentStatus;
 | 
			
		||||
use Illuminate\Database\Eloquent\Casts\Attribute;
 | 
			
		||||
use Illuminate\Database\Eloquent\Relations\HasMany;
 | 
			
		||||
use Illuminate\Database\Eloquent\SoftDeletes;
 | 
			
		||||
use Illuminate\Support\Collection;
 | 
			
		||||
use Spatie\Activitylog\Models\Activity;
 | 
			
		||||
use Illuminate\Support\Str;
 | 
			
		||||
use RuntimeException;
 | 
			
		||||
@@ -212,7 +213,8 @@ class Application extends BaseModel
 | 
			
		||||
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
    public function isExited() {
 | 
			
		||||
    public function isExited()
 | 
			
		||||
    {
 | 
			
		||||
        return (bool) str($this->status)->startsWith('exited');
 | 
			
		||||
    }
 | 
			
		||||
    public function realStatus()
 | 
			
		||||
@@ -521,17 +523,21 @@ class Application extends BaseModel
 | 
			
		||||
    {
 | 
			
		||||
        return "/artifacts/{$uuid}";
 | 
			
		||||
    }
 | 
			
		||||
    function setGitImportSettings(string $deployment_uuid, string $git_clone_command)
 | 
			
		||||
    function setGitImportSettings(string $deployment_uuid, string $git_clone_command, bool $public = false)
 | 
			
		||||
    {
 | 
			
		||||
        $baseDir = $this->generateBaseDir($deployment_uuid);
 | 
			
		||||
 | 
			
		||||
        if ($this->git_commit_sha !== 'HEAD') {
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && git -c advice.detachedHead=false checkout {$this->git_commit_sha} >/dev/null 2>&1";
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null\" git -c advice.detachedHead=false checkout {$this->git_commit_sha} >/dev/null 2>&1";
 | 
			
		||||
        }
 | 
			
		||||
        if ($this->settings->is_git_submodules_enabled) {
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && git submodule update --init --recursive";
 | 
			
		||||
            if ($public) {
 | 
			
		||||
                $git_clone_command = "{$git_clone_command} && cd {$baseDir} && sed -i \"s#git@\(.*\):#https://\\1/#g\" {$baseDir}/.gitmodules || true";
 | 
			
		||||
            }
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null\" git submodule update --init --recursive";
 | 
			
		||||
        }
 | 
			
		||||
        if ($this->settings->is_git_lfs_enabled) {
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && git lfs pull";
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} && cd {$baseDir} && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null\" git lfs pull";
 | 
			
		||||
        }
 | 
			
		||||
        return $git_clone_command;
 | 
			
		||||
    }
 | 
			
		||||
@@ -559,7 +565,7 @@ class Application extends BaseModel
 | 
			
		||||
                    $fullRepoUrl = "{$this->source->html_url}/{$customRepository}";
 | 
			
		||||
                    $git_clone_command = "{$git_clone_command} {$this->source->html_url}/{$customRepository} {$baseDir}";
 | 
			
		||||
                    if (!$only_checkout) {
 | 
			
		||||
                        $git_clone_command = $this->setGitImportSettings($deployment_uuid, $git_clone_command);
 | 
			
		||||
                        $git_clone_command = $this->setGitImportSettings($deployment_uuid, $git_clone_command, public: true);
 | 
			
		||||
                    }
 | 
			
		||||
                    if ($exec_in_docker) {
 | 
			
		||||
                        $commands->push(executeInDocker($deployment_uuid, $git_clone_command));
 | 
			
		||||
@@ -658,7 +664,7 @@ class Application extends BaseModel
 | 
			
		||||
        if ($this->deploymentType() === 'other') {
 | 
			
		||||
            $fullRepoUrl = $customRepository;
 | 
			
		||||
            $git_clone_command = "{$git_clone_command} {$customRepository} {$baseDir}";
 | 
			
		||||
            $git_clone_command = $this->setGitImportSettings($deployment_uuid, $git_clone_command);
 | 
			
		||||
            $git_clone_command = $this->setGitImportSettings($deployment_uuid, $git_clone_command, public: true);
 | 
			
		||||
 | 
			
		||||
            if ($pull_request_id !== 0) {
 | 
			
		||||
                if ($git_type === 'gitlab') {
 | 
			
		||||
 
 | 
			
		||||
@@ -225,20 +225,23 @@ class Server extends BaseModel
 | 
			
		||||
        $services = $this->services();
 | 
			
		||||
        return $applications->concat($databases)->concat($services->get());
 | 
			
		||||
    }
 | 
			
		||||
    public function stopUnmanaged($id) {
 | 
			
		||||
    public function stopUnmanaged($id)
 | 
			
		||||
    {
 | 
			
		||||
        return instant_remote_process(["docker stop -t 0 $id"], $this);
 | 
			
		||||
    }
 | 
			
		||||
    public function restartUnmanaged($id) {
 | 
			
		||||
    public function restartUnmanaged($id)
 | 
			
		||||
    {
 | 
			
		||||
        return instant_remote_process(["docker restart $id"], $this);
 | 
			
		||||
    }
 | 
			
		||||
    public function startUnmanaged($id) {
 | 
			
		||||
    public function startUnmanaged($id)
 | 
			
		||||
    {
 | 
			
		||||
        return instant_remote_process(["docker start $id"], $this);
 | 
			
		||||
    }
 | 
			
		||||
    public function loadUnmanagedContainers()
 | 
			
		||||
    {
 | 
			
		||||
        $containers = instant_remote_process(["docker ps -a  --format '{{json .}}' "], $this);
 | 
			
		||||
        $containers = format_docker_command_output_to_json($containers);
 | 
			
		||||
        $containers = $containers->map(function ($container)  {
 | 
			
		||||
        $containers = $containers->map(function ($container) {
 | 
			
		||||
            $labels = data_get($container, 'Labels');
 | 
			
		||||
            if (!str($labels)->contains("coolify.managed")) {
 | 
			
		||||
                return $container;
 | 
			
		||||
@@ -269,7 +272,7 @@ class Server extends BaseModel
 | 
			
		||||
            $mariadbs = data_get($standaloneDocker, 'mariadbs', collect([]));
 | 
			
		||||
            return $postgresqls->concat($redis)->concat($mongodbs)->concat($mysqls)->concat($mariadbs);
 | 
			
		||||
        })->filter(function ($item) {
 | 
			
		||||
            return data_get($item, 'name') === 'coolify-db';
 | 
			
		||||
            return data_get($item, 'name') !== 'coolify-db';
 | 
			
		||||
        })->flatten();
 | 
			
		||||
    }
 | 
			
		||||
    public function applications()
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ return [
 | 
			
		||||
 | 
			
		||||
    // 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.220',
 | 
			
		||||
    'release' => '4.0.0-beta.221',
 | 
			
		||||
    // When left empty or `null` the Laravel environment will be used
 | 
			
		||||
    'environment' => config('app.env'),
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return '4.0.0-beta.220';
 | 
			
		||||
return '4.0.0-beta.221';
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
            "version": "3.12.36"
 | 
			
		||||
        },
 | 
			
		||||
        "v4": {
 | 
			
		||||
            "version": "4.0.0-beta.220"
 | 
			
		||||
            "version": "4.0.0-beta.221"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user