Merge pull request #1107 from coollabsio/next

v4.0.0-beta.13
This commit is contained in:
Andras Bacsai 2023-06-23 13:50:45 +02:00 committed by GitHub
commit f973744ff6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 88 additions and 15 deletions

View File

@ -6,7 +6,7 @@
USERID=
GROUPID=
############################################################################################################
APP_ID=development
APP_ENV=local
APP_KEY=
APP_DEBUG=true

View File

@ -14,6 +14,7 @@ class UpdateCoolify
public function __invoke(bool $force)
{
try {
$settings = InstanceSettings::get();
ray('Running InstanceAutoUpdateJob');
$localhost_name = 'localhost';
if (isDev()) {
@ -23,12 +24,15 @@ class UpdateCoolify
$this->latest_version = get_latest_version_of_coolify();
$this->current_version = config('version');
ray('latest version:' . $this->latest_version . " current version: " . $this->current_version . ' force: ' . $force);
if ($settings->next_channel) {
ray('next channel enabled');
$force = true;
$this->latest_version = 'next';
}
if ($force) {
$this->update();
} else {
$instance_settings = InstanceSettings::get();
ray($instance_settings);
if (!$instance_settings->is_auto_update_enabled) {
if (!$settings->is_auto_update_enabled) {
throw new \Exception('Auto update is disabled');
}
if ($this->latest_version === $this->current_version) {
@ -49,7 +53,7 @@ class UpdateCoolify
private function update()
{
if (isDev()) {
ray('Running update on local docker container');
ray("Running update on local docker container. Updating to $this->latest_version");
remote_process([
"sleep 10"
], $this->server);

View File

@ -12,9 +12,10 @@ use Symfony\Component\Yaml\Yaml;
class Configuration extends Component
{
public ModelsInstanceSettings $settings;
public $do_not_track;
public $is_auto_update_enabled;
public $is_registration_enabled;
public bool $do_not_track;
public bool $is_auto_update_enabled;
public bool $is_registration_enabled;
public bool $next_channel;
protected string $dynamic_config_path = '/data/coolify/proxy/dynamic';
protected Server $server;
@ -32,16 +33,17 @@ class Configuration extends Component
];
public function mount()
{
ray($this->settings);
$this->do_not_track = $this->settings->do_not_track;
$this->is_auto_update_enabled = $this->settings->is_auto_update_enabled;
$this->is_registration_enabled = $this->settings->is_registration_enabled;
$this->next_channel = $this->settings->next_channel;
}
public function instantSave()
{
$this->settings->do_not_track = $this->do_not_track;
$this->settings->is_auto_update_enabled = $this->is_auto_update_enabled;
$this->settings->is_registration_enabled = $this->is_registration_enabled;
$this->settings->next_channel = $this->next_channel;
$this->settings->save();
$this->emit('success', 'Settings updated!');
}

View File

@ -3,6 +3,7 @@
namespace App\Http\Livewire;
use App\Actions\Server\UpdateCoolify;
use App\Models\InstanceSettings;
use Masmerise\Toaster\Toaster;
use Livewire\Component;
@ -20,6 +21,11 @@ class Upgrade extends Component
if (isDev()) {
$this->isUpgradeAvailable = true;
}
$settings = InstanceSettings::get();
if ($settings->next_channel) {
$this->isUpgradeAvailable = true;
$this->latestVersion = 'next';
}
}
public function upgrade()
{

View File

@ -1,3 +1,3 @@
<?php
return '4.0.0-beta.11';
return '4.0.0-beta.13';

View File

@ -24,8 +24,6 @@ return new class extends Migration
$table->boolean('is_auto_update_enabled')->default(true);
$table->boolean('is_registration_enabled')->default(true);
$table->schemalessAttributes('smtp');
// $table->string('custom_dns_servers')->default('1.1.1.1,8.8.8.8');
// $table->boolean('is_dns_check_enabled')->default(true);
$table->timestamps();
});
}

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('instance_settings', function (Blueprint $table) {
$table->boolean('next_channel')->default(false);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('instance_settings', function (Blueprint $table) {
$table->dropColumn('next_channel');
});
}
};

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('environment_variables', function (Blueprint $table) {
$table->text('value')->nullable()->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('environment_variables', function (Blueprint $table) {
$table->string('value')->nullable()->change();
});
}
};

View File

@ -18,10 +18,12 @@
</div> --}}
</div>
</form>
<div class="flex flex-col py-6 text-right w-52">
<h2 class="pt-6">Advanced</h2>
<div class="flex flex-col py-6 text-right w-80">
<x-forms.checkbox instantSave id="is_auto_update_enabled" label="Auto Update Coolify" />
<x-forms.checkbox instantSave id="is_registration_enabled" label="Registration Allowed" />
<x-forms.checkbox instantSave id="do_not_track" label="Do Not Track" />
<x-forms.checkbox instantSave helper="Do not recommended, only if you like to live on the edge."
id="next_channel" label="Enable pre-release (early) updates" />
</div>
</div>

View File

@ -23,6 +23,11 @@ if [ $OS_TYPE != "ubuntu" ] && [ $OS_TYPE != "debian" ]; then
exit
fi
# Ovewrite LATEST_VERSION if user pass a version number
if [ "$1" != "" ]; then
LATEST_VERSION=$1
fi
echo -e "-------------"
echo -e "Welcome to Coolify v4 beta installer!"
echo -e "This script will install everything for you."

View File

@ -4,7 +4,7 @@
"version": "3.12.32"
},
"v4": {
"version": "4.0.0-beta.11"
"version": "4.0.0-beta.13"
}
}
}