diff --git a/.env.development.example b/.env.development.example index e4508405b..e73b8c1dd 100644 --- a/.env.development.example +++ b/.env.development.example @@ -6,7 +6,7 @@ USERID= GROUPID= ############################################################################################################ - +APP_ID=development APP_ENV=local APP_KEY= APP_DEBUG=true diff --git a/app/Actions/Server/UpdateCoolify.php b/app/Actions/Server/UpdateCoolify.php index 7c1036b55..047a06e81 100644 --- a/app/Actions/Server/UpdateCoolify.php +++ b/app/Actions/Server/UpdateCoolify.php @@ -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); diff --git a/app/Http/Livewire/Settings/Configuration.php b/app/Http/Livewire/Settings/Configuration.php index 9e901519d..4746cf299 100644 --- a/app/Http/Livewire/Settings/Configuration.php +++ b/app/Http/Livewire/Settings/Configuration.php @@ -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!'); } diff --git a/app/Http/Livewire/Upgrade.php b/app/Http/Livewire/Upgrade.php index 8d3930bc4..5b6b5db3f 100644 --- a/app/Http/Livewire/Upgrade.php +++ b/app/Http/Livewire/Upgrade.php @@ -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() { diff --git a/config/version.php b/config/version.php index ad294318a..300506ef5 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ 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(); }); } diff --git a/database/migrations/2023_06_23_110548_next_channel_updates.php b/database/migrations/2023_06_23_110548_next_channel_updates.php new file mode 100644 index 000000000..83c4dacf3 --- /dev/null +++ b/database/migrations/2023_06_23_110548_next_channel_updates.php @@ -0,0 +1,28 @@ +boolean('next_channel')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('instance_settings', function (Blueprint $table) { + $table->dropColumn('next_channel'); + }); + } +}; diff --git a/database/migrations/2023_06_23_114131_change_env_var_value_length.php b/database/migrations/2023_06_23_114131_change_env_var_value_length.php new file mode 100644 index 000000000..ca8bd1e0c --- /dev/null +++ b/database/migrations/2023_06_23_114131_change_env_var_value_length.php @@ -0,0 +1,28 @@ +text('value')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('environment_variables', function (Blueprint $table) { + $table->string('value')->nullable()->change(); + }); + } +}; diff --git a/resources/views/livewire/settings/configuration.blade.php b/resources/views/livewire/settings/configuration.blade.php index d17435699..fa2736e1e 100644 --- a/resources/views/livewire/settings/configuration.blade.php +++ b/resources/views/livewire/settings/configuration.blade.php @@ -18,10 +18,12 @@ --}} - -
+

Advanced

+
+
diff --git a/scripts/install.sh b/scripts/install.sh index 629a89cfa..72d788ee1 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -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." diff --git a/versions.json b/versions.json index 162dc9a54..1b4ae8856 100644 --- a/versions.json +++ b/versions.json @@ -4,7 +4,7 @@ "version": "3.12.32" }, "v4": { - "version": "4.0.0-beta.11" + "version": "4.0.0-beta.13" } } } \ No newline at end of file