Next channel updates

This commit is contained in:
Andras Bacsai 2023-06-23 13:13:02 +02:00
parent d74ba03cd9
commit 1dc3c77bc9
6 changed files with 47 additions and 12 deletions

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 @@ public function __invoke(bool $force)
$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 @@ public function __invoke(bool $force)
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 @@
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

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

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

@ -18,10 +18,11 @@
</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 w-64 py-6 text-right">
<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 id="next_channel" label="Enable beta (early) updates" />
</div>
</div>

View File

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