diff --git a/app/Models/StandaloneDocker.php b/app/Models/StandaloneDocker.php index 604a245fc..e7e0a8c10 100644 --- a/app/Models/StandaloneDocker.php +++ b/app/Models/StandaloneDocker.php @@ -43,14 +43,20 @@ protected static function boot() } $server = $newStandaloneDocker->server; - $safeNetwork = escapeshellarg($newStandaloneDocker->network); instant_remote_process([ - "docker network inspect {$safeNetwork} >/dev/null 2>&1 || docker network create --driver overlay --attachable {$safeNetwork} >/dev/null", + $newStandaloneDocker->networkCreateCommand(), ], $server, false); ConnectProxyToNetworksJob::dispatchSync($server); }); } + public function networkCreateCommand(): string + { + $safeNetwork = escapeshellarg($this->network); + + return "docker network inspect {$safeNetwork} >/dev/null 2>&1 || docker network create --attachable {$safeNetwork} >/dev/null"; + } + public function setNetworkAttribute(string $value): void { if (! ValidationPatterns::isValidDockerNetwork($value)) { diff --git a/config/constants.php b/config/constants.php index cb41d2f6f..71477d73a 100644 --- a/config/constants.php +++ b/config/constants.php @@ -2,7 +2,7 @@ return [ 'coolify' => [ - 'version' => env('COOLIFY_VERSION') ?: '4.3.13', + 'version' => env('COOLIFY_VERSION') ?: '4.3.14', 'helper_version' => '1.0.16', 'realtime_version' => '1.0.17', 'railpack_version' => '0.23.0', diff --git a/other/nightly/versions.json b/other/nightly/versions.json index a87ca37c5..2331c439a 100644 --- a/other/nightly/versions.json +++ b/other/nightly/versions.json @@ -1,7 +1,7 @@ { "coolify": { "v4": { - "version": "4.3.13" + "version": "4.3.14" }, "nightly": { "version": "4.4-rc.1" diff --git a/tests/Unit/DockerNetworkInjectionTest.php b/tests/Unit/DockerNetworkInjectionTest.php index b3ca4ac60..9427aa87d 100644 --- a/tests/Unit/DockerNetworkInjectionTest.php +++ b/tests/Unit/DockerNetworkInjectionTest.php @@ -27,6 +27,14 @@ 'alphanumeric' => 'network123', ]); +it('creates standalone destinations with a bridge network', function () { + $model = new StandaloneDocker; + $model->network = 'test-network'; + + expect($model->networkCreateCommand()) + ->toBe("docker network inspect 'test-network' >/dev/null 2>&1 || docker network create --attachable 'test-network' >/dev/null"); +}); + it('SwarmDocker rejects network names with shell metacharacters', function (string $network) { $model = new SwarmDocker; $model->network = $network; diff --git a/tests/Unit/ProductionImageWorkflowTest.php b/tests/Unit/ProductionImageWorkflowTest.php index 9af95fd06..857027a3c 100644 --- a/tests/Unit/ProductionImageWorkflowTest.php +++ b/tests/Unit/ProductionImageWorkflowTest.php @@ -23,8 +23,8 @@ ->toContain('ARG COOLIFY_VERSION') ->toContain('ENV COOLIFY_VERSION=${COOLIFY_VERSION}') ->and($constants) - ->toContain("'version' => env('COOLIFY_VERSION') ?: '4.3.13'") - ->and($versions['coolify']['v4']['version'])->toBe('4.3.13') + ->toContain("'version' => env('COOLIFY_VERSION') ?: '4.3.14'") + ->and($versions['coolify']['v4']['version'])->toBe('4.3.14') ->and($versions['coolify']['nightly']['version'])->toBe('4.4-rc.1') ->and($nightlyVersions)->toBe($versions); }); diff --git a/versions.json b/versions.json index a87ca37c5..2331c439a 100644 --- a/versions.json +++ b/versions.json @@ -1,7 +1,7 @@ { "coolify": { "v4": { - "version": "4.3.13" + "version": "4.3.14" }, "nightly": { "version": "4.4-rc.1"