commit
abdb8074b1
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Actions\Proxy;
|
namespace App\Actions\Proxy;
|
||||||
|
|
||||||
|
use App\Enums\ProxyStatus;
|
||||||
|
use App\Enums\ProxyTypes;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Spatie\Activitylog\Models\Activity;
|
use Spatie\Activitylog\Models\Activity;
|
||||||
@ -10,6 +12,15 @@ class StartProxy
|
|||||||
{
|
{
|
||||||
public function __invoke(Server $server, bool $async = true): Activity|string
|
public function __invoke(Server $server, bool $async = true): Activity|string
|
||||||
{
|
{
|
||||||
|
$proxyType = data_get($server,'proxy.type');
|
||||||
|
if ($proxyType === 'none') {
|
||||||
|
return 'OK';
|
||||||
|
}
|
||||||
|
if (is_null($proxyType)) {
|
||||||
|
$server->proxy->type = ProxyTypes::TRAEFIK_V2->value;
|
||||||
|
$server->proxy->status = ProxyStatus::EXITED->value;
|
||||||
|
$server->save();
|
||||||
|
}
|
||||||
$proxy_path = get_proxy_path();
|
$proxy_path = get_proxy_path();
|
||||||
$networks = collect($server->standaloneDockers)->map(function ($docker) {
|
$networks = collect($server->standaloneDockers)->map(function ($docker) {
|
||||||
return $docker['network'];
|
return $docker['network'];
|
||||||
@ -38,12 +49,12 @@ class StartProxy
|
|||||||
"echo '####### Pulling docker image...'",
|
"echo '####### Pulling docker image...'",
|
||||||
'docker compose pull',
|
'docker compose pull',
|
||||||
"echo '####### Stopping existing coolify-proxy...'",
|
"echo '####### Stopping existing coolify-proxy...'",
|
||||||
'docker compose down -v --remove-orphans',
|
"docker compose down -v --remove-orphans > /dev/null 2>&1 || true",
|
||||||
"command -v lsof >/dev/null && lsof -nt -i:80 | xargs -r kill -9",
|
|
||||||
"command -v lsof >/dev/null && lsof -nt -i:443 | xargs -r kill -9",
|
|
||||||
"command -v fuser >/dev/null && fuser -k 80/tcp",
|
|
||||||
"command -v fuser >/dev/null && fuser -k 443/tcp",
|
|
||||||
"command -v fuser >/dev/null || command -v lsof >/dev/null || echo '####### Could not kill existing processes listening on port 80 & 443. Please stop the process holding these ports...'",
|
"command -v fuser >/dev/null || command -v lsof >/dev/null || echo '####### Could not kill existing processes listening on port 80 & 443. Please stop the process holding these ports...'",
|
||||||
|
"command -v lsof >/dev/null && lsof -nt -i:80 | xargs -r kill -9 || true",
|
||||||
|
"command -v lsof >/dev/null && lsof -nt -i:443 | xargs -r kill -9 || true",
|
||||||
|
"command -v fuser >/dev/null && fuser -k 80/tcp || true",
|
||||||
|
"command -v fuser >/dev/null && fuser -k 443/tcp || true",
|
||||||
"systemctl disable nginx > /dev/null 2>&1 || true",
|
"systemctl disable nginx > /dev/null 2>&1 || true",
|
||||||
"systemctl disable apache2 > /dev/null 2>&1 || true",
|
"systemctl disable apache2 > /dev/null 2>&1 || true",
|
||||||
"systemctl disable apache > /dev/null 2>&1 || true",
|
"systemctl disable apache > /dev/null 2>&1 || true",
|
||||||
|
@ -41,17 +41,15 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function checkServerConnection() {
|
private function checkServerConnection() {
|
||||||
ray("Checking server connection to {$this->server->ip}");
|
|
||||||
$uptime = instant_remote_process(['uptime'], $this->server, false);
|
$uptime = instant_remote_process(['uptime'], $this->server, false);
|
||||||
if (!is_null($uptime)) {
|
if (!is_null($uptime)) {
|
||||||
ray('Server is up');
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
ray()->clearAll();
|
// ray()->clearAll();
|
||||||
$serverUptimeCheckNumber = 0;
|
$serverUptimeCheckNumber = 0;
|
||||||
$serverUptimeCheckNumberMax = 5;
|
$serverUptimeCheckNumberMax = 5;
|
||||||
while (true) {
|
while (true) {
|
||||||
@ -216,12 +214,10 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
|
|||||||
$isPR = Str::startsWith(data_get($value, 'Name'), "/$uuid");
|
$isPR = Str::startsWith(data_get($value, 'Name'), "/$uuid");
|
||||||
$isPR = Str::contains(data_get($value, 'Name'), "-pr-");
|
$isPR = Str::contains(data_get($value, 'Name'), "-pr-");
|
||||||
if ($isPR) {
|
if ($isPR) {
|
||||||
ray('is pr');
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return $value;
|
return $value;
|
||||||
})->first();
|
})->first();
|
||||||
ray($foundContainer);
|
|
||||||
if ($foundContainer) {
|
if ($foundContainer) {
|
||||||
$containerStatus = data_get($foundContainer, 'State.Status');
|
$containerStatus = data_get($foundContainer, 'State.Status');
|
||||||
$databaseStatus = data_get($application, 'status');
|
$databaseStatus = data_get($application, 'status');
|
||||||
|
@ -7,7 +7,7 @@ return [
|
|||||||
|
|
||||||
// The release version of your application
|
// The release version of your application
|
||||||
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
||||||
'release' => '4.0.0-beta.39',
|
'release' => '4.0.0-beta.40',
|
||||||
// When left empty or `null` the Laravel environment will be used
|
// When left empty or `null` the Laravel environment will be used
|
||||||
'environment' => config('app.env'),
|
'environment' => config('app.env'),
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return '4.0.0-beta.39';
|
return '4.0.0-beta.40';
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
<div class="">The destination server / network where your application will be deployed to.</div>
|
<div class="">The destination server / network where your application will be deployed to.</div>
|
||||||
<div class="py-4 ">
|
<div class="py-4 ">
|
||||||
<p>Server: {{ data_get($destination, 'server.name') }}</p>
|
<p>Server: {{ data_get($destination, 'server.name') }}</p>
|
||||||
<p>Destination Network: {{ $destination->network }}</p>
|
<p>Destination Network: {{ data_get($destination, 'server.network') }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"version": "3.12.36"
|
"version": "3.12.36"
|
||||||
},
|
},
|
||||||
"v4": {
|
"v4": {
|
||||||
"version": "4.0.0-beta.39"
|
"version": "4.0.0-beta.40"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user