From 220a8fe2cc9aac221ad8e23371cfbd1674191314 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 26 Mar 2024 14:18:33 +0100 Subject: [PATCH 01/65] Update container and version configurations --- app/Jobs/ContainerStatusJob.php | 5 ----- config/sentry.php | 2 +- config/version.php | 2 +- versions.json | 2 +- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/app/Jobs/ContainerStatusJob.php b/app/Jobs/ContainerStatusJob.php index b40826f97..53e887825 100644 --- a/app/Jobs/ContainerStatusJob.php +++ b/app/Jobs/ContainerStatusJob.php @@ -177,9 +177,6 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted } } else { $database = $databases->where('uuid', $uuid)->first(); - if ($uuid == 'postgresql') { - ray($database); - } if ($database) { $isPublic = data_get($database, 'is_public'); $foundDatabases[] = $database->id; @@ -187,7 +184,6 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted if ($statusFromDb !== $containerStatus) { $database->update(['status' => $containerStatus]); } - ray($database); if ($isPublic) { $foundTcpProxy = $containers->filter(function ($value, $key) use ($uuid) { if ($this->server->isSwarm()) { @@ -197,7 +193,6 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted } })->first(); if (!$foundTcpProxy) { - ray('asdffff'); StartDatabaseProxy::run($database); $this->server->team?->notify(new ContainerRestarted("TCP Proxy for {$database->name}", $this->server)); } diff --git a/config/sentry.php b/config/sentry.php index ec6abd3c9..295643a93 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -7,7 +7,7 @@ return [ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) - 'release' => '4.0.0-beta.245', + 'release' => '4.0.0-beta.246', // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index 8b2443f54..c7cc17991 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ Date: Tue, 26 Mar 2024 14:19:25 +0100 Subject: [PATCH 02/65] Remove unnecessary version entry for "coolify" main branch --- versions.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/versions.json b/versions.json index 1e496305c..faad06660 100644 --- a/versions.json +++ b/versions.json @@ -1,8 +1,5 @@ { "coolify": { - "main": { - "version": "3.12.36" - }, "v4": { "version": "4.0.0-beta.246" } From 8f477612004132a22e675df37d322f4930994827 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 10:54:17 +0100 Subject: [PATCH 03/65] ui: fix log outputs --- resources/css/app.css | 2 +- .../application/deployment/index.blade.php | 9 +-- .../application/deployment/show.blade.php | 80 ++++++++++--------- .../project/application/previews.blade.php | 10 +-- .../project/shared/get-logs.blade.php | 71 ++++++++-------- 5 files changed, 87 insertions(+), 85 deletions(-) diff --git a/resources/css/app.css b/resources/css/app.css index fa29bf90f..a1939d71e 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -280,7 +280,7 @@ tr td:first-child { } .fullscreen { - @apply fixed top-0 left-0 w-full h-full z-[9999] bg-coolgray-100 overflow-y-auto scrollbar pb-4; + @apply fixed top-0 left-0 w-full h-full z-[9999] dark:bg-coolgray-100 bg-white overflow-y-auto scrollbar pb-4; } .toast { diff --git a/resources/views/livewire/project/application/deployment/index.blade.php b/resources/views/livewire/project/application/deployment/index.blade.php index f36c24fa2..03a8a0d8a 100644 --- a/resources/views/livewire/project/application/deployment/index.blade.php +++ b/resources/views/livewire/project/application/deployment/index.blade.php @@ -27,18 +27,17 @@ @endif @forelse ($deployments as $deployment) data_get($deployment, 'status') === 'queued', 'border-warning hover:bg-warning hover:text-black' => data_get($deployment, 'status') === 'in_progress' || data_get($deployment, 'status') === 'cancelled-by-user', - 'border-error hover:bg-error' => + 'border-error dark:hover:bg-error hover:bg-neutral-200' => data_get($deployment, 'status') === 'failed', - 'border-success hover:bg-success' => + 'border-success dark:hover:bg-success hover:bg-neutral-200' => data_get($deployment, 'status') === 'finished', - ]) href="{{ $current_url . '/' . data_get($deployment, 'deployment_uuid') }}" - class="hover:no-underline"> + ]) href="{{ $current_url . '/' . data_get($deployment, 'deployment_uuid') }}">
{{ $deployment->created_at }} UTC diff --git a/resources/views/livewire/project/application/deployment/show.blade.php b/resources/views/livewire/project/application/deployment/show.blade.php index 5d80cd127..1426ef583 100644 --- a/resources/views/livewire/project/application/deployment/show.blade.php +++ b/resources/views/livewire/project/application/deployment/show.blade.php @@ -1,11 +1,45 @@

Deployment

-
+
@if (data_get($application_deployment_queue, 'status') === 'in_progress') -
-
diff --git a/resources/views/livewire/project/application/previews.blade.php b/resources/views/livewire/project/application/previews.blade.php index 45d0fba63..6d1eb8614 100644 --- a/resources/views/livewire/project/application/previews.blade.php +++ b/resources/views/livewire/project/application/previews.blade.php @@ -57,7 +57,7 @@
Previews
@foreach ($application->previews as $preview) -
+
PR #{{ data_get($preview, 'pull_request_id') }} | @if (Str::of(data_get($preview, 'status'))->startsWith('running')) @@ -78,7 +78,7 @@
- @if (data_get($preview, 'status') === 'exited') Deploy @@ -88,17 +88,17 @@ - + Deployment Logs - + Application Logs - Delete
diff --git a/resources/views/livewire/project/shared/get-logs.blade.php b/resources/views/livewire/project/shared/get-logs.blade.php index 7f8ce9495..ad4e74e0c 100644 --- a/resources/views/livewire/project/shared/get-logs.blade.php +++ b/resources/views/livewire/project/shared/get-logs.blade.php @@ -1,5 +1,38 @@
-
+
@if ($resource?->type() === 'application')

{{ $container }}

@@ -24,7 +57,7 @@
-
-
-
From 32f4c6c98226ca2de322221ca623c642a61d27cc Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:07:29 +0100 Subject: [PATCH 04/65] Update documentation links --- CONTRIBUTION.md | 2 +- app/Actions/Server/InstallDocker.php | 2 +- app/Http/Controllers/Api/Deploy.php | 12 ++++++------ app/Http/Controllers/Api/Team.php | 4 ++-- app/Jobs/ApplicationDeploymentJob.php | 2 +- app/Livewire/Project/Application/General.php | 2 +- app/Livewire/Project/Application/Heading.php | 6 +++--- app/Livewire/Project/Shared/Destination.php | 2 +- app/Livewire/Server/Form.php | 2 +- app/Livewire/Server/ShowPrivateKey.php | 2 +- app/Livewire/Server/ValidateAndInstall.php | 2 +- app/Notifications/Server/HighDiskUsage.php | 4 ++-- bootstrap/helpers/api.php | 2 +- resources/views/emails/high-disk-usage.blade.php | 2 +- resources/views/livewire/boarding/index.blade.php | 2 +- resources/views/livewire/layout-popups.blade.php | 4 ++-- .../livewire/project/application/general.blade.php | 14 +++++++------- resources/views/livewire/project/edit.blade.php | 2 +- .../livewire/project/environment-edit.blade.php | 2 +- .../livewire/project/service/stack-form.blade.php | 2 +- .../livewire/project/shared/webhooks.blade.php | 4 ++-- resources/views/livewire/server/form.blade.php | 8 ++++---- .../views/livewire/server/new/by-ip.blade.php | 10 +++++----- resources/views/livewire/server/proxy.blade.php | 4 ++-- .../livewire/team-shared-variables-index.blade.php | 2 +- 25 files changed, 50 insertions(+), 50 deletions(-) diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index c6a5b3273..c139793ec 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -30,5 +30,5 @@ Your horizon (Laravel scheduler): `localhost:8000/horizon` - Only reachable if y Mails are caught by Mailpit: `localhost:8025` ## New Service Contribution -Check out the docs [here](https://coolify.io/docs/how-to-add-a-service). +Check out the docs [here](https://coolify.io/docs/resources/services/add-service). diff --git a/app/Actions/Server/InstallDocker.php b/app/Actions/Server/InstallDocker.php index 553a1c09d..1db766a88 100644 --- a/app/Actions/Server/InstallDocker.php +++ b/app/Actions/Server/InstallDocker.php @@ -13,7 +13,7 @@ class InstallDocker { $supported_os_type = $server->validateOS(); if (!$supported_os_type) { - throw new \Exception('Server OS type is not supported for automated installation. Please install Docker manually before continuing: documentation.'); + throw new \Exception('Server OS type is not supported for automated installation. Please install Docker manually before continuing: documentation.'); } ray('Installing Docker on server: ' . $server->name . ' (' . $server->ip . ')' . ' with OS type: ' . $supported_os_type); $dockerVersion = '24.0'; diff --git a/app/Http/Controllers/Api/Deploy.php b/app/Http/Controllers/Api/Deploy.php index 89a994afe..5469ba1c6 100644 --- a/app/Http/Controllers/Api/Deploy.php +++ b/app/Http/Controllers/Api/Deploy.php @@ -44,7 +44,7 @@ class Deploy extends Controller $force = $request->query->get('force') ?? false; if ($uuids && $tags) { - return response()->json(['error' => 'You can only use uuid or tag, not both.', 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 400); + return response()->json(['error' => 'You can only use uuid or tag, not both.', 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 400); } if (is_null($teamId)) { return invalid_token(); @@ -54,7 +54,7 @@ class Deploy extends Controller } else if ($uuids) { return $this->by_uuids($uuids, $teamId, $force); } - return response()->json(['error' => 'You must provide uuid or tag.', 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 400); + return response()->json(['error' => 'You must provide uuid or tag.', 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 400); } private function by_uuids(string $uuid, int $teamId, bool $force = false) { @@ -62,7 +62,7 @@ class Deploy extends Controller $uuids = collect(array_filter($uuids)); if (count($uuids) === 0) { - return response()->json(['error' => 'No UUIDs provided.', 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 400); + return response()->json(['error' => 'No UUIDs provided.', 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 400); } $deployments = collect(); $payload = collect(); @@ -81,7 +81,7 @@ class Deploy extends Controller $payload->put('deployments', $deployments->toArray()); return response()->json($payload->toArray(), 200); } - return response()->json(['error' => "No resources found.", 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 404); + return response()->json(['error' => "No resources found.", 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 404); } public function by_tags(string $tags, int $team_id, bool $force = false) { @@ -89,7 +89,7 @@ class Deploy extends Controller $tags = collect(array_filter($tags)); if (count($tags) === 0) { - return response()->json(['error' => 'No TAGs provided.', 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 400); + return response()->json(['error' => 'No TAGs provided.', 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 400); } $message = collect([]); $deployments = collect(); @@ -127,7 +127,7 @@ class Deploy extends Controller return response()->json($payload->toArray(), 200); } - return response()->json(['error' => "No resources found with this tag.", 'docs' => 'https://coolify.io/docs/api/deploy-webhook'], 404); + return response()->json(['error' => "No resources found with this tag.", 'docs' => 'https://coolify.io/docs/api-reference/deploy-webhook'], 404); } public function deploy_resource($resource, bool $force = false): array { diff --git a/app/Http/Controllers/Api/Team.php b/app/Http/Controllers/Api/Team.php index 453c2590f..d5b1f6209 100644 --- a/app/Http/Controllers/Api/Team.php +++ b/app/Http/Controllers/Api/Team.php @@ -26,7 +26,7 @@ class Team extends Controller $teams = auth()->user()->teams; $team = $teams->where('id', $id)->first(); if (is_null($team)) { - return response()->json(['error' => 'Team not found.', "docs" => "https://coolify.io/docs/api/team-by-id"], 404); + return response()->json(['error' => 'Team not found.', "docs" => "https://coolify.io/docs/api-reference/get-team-by-teamid"], 404); } return response()->json($team); } @@ -40,7 +40,7 @@ class Team extends Controller $teams = auth()->user()->teams; $team = $teams->where('id', $id)->first(); if (is_null($team)) { - return response()->json(['error' => 'Team not found.', "docs" => "https://coolify.io/docs/api/team-by-id-members"], 404); + return response()->json(['error' => 'Team not found.', "docs" => "https://coolify.io/docs/api-reference/get-team-by-teamid-members"], 404); } return response()->json($team->members); } diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php index ef210f16b..0c6b6eecb 100644 --- a/app/Jobs/ApplicationDeploymentJob.php +++ b/app/Jobs/ApplicationDeploymentJob.php @@ -737,7 +737,7 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted $nixpacks_php_root_dir = $this->application->environment_variables_preview->where('key', 'NIXPACKS_PHP_ROOT_DIR')->first(); } if ($nixpacks_php_fallback_path?->value === '/index.php' && $nixpacks_php_root_dir?->value === '/app/public' && $this->newVersionIsHealthy === false) { - $this->application_deployment_queue->addLogEntry("There was a change in how Laravel is deployed. Please update your environment variables to match the new deployment method. More details here: https://coolify.io/docs/frameworks/laravel#requirements", 'stderr'); + $this->application_deployment_queue->addLogEntry("There was a change in how Laravel is deployed. Please update your environment variables to match the new deployment method. More details here: https://coolify.io/docs/resources/laravel", 'stderr'); } } private function rolling_update() diff --git a/app/Livewire/Project/Application/General.php b/app/Livewire/Project/Application/General.php index 67f6c2115..9485cdd03 100644 --- a/app/Livewire/Project/Application/General.php +++ b/app/Livewire/Project/Application/General.php @@ -251,7 +251,7 @@ class General extends Component if ($this->application->additional_servers->count() === 0) { foreach ($domains as $domain) { if (!validate_dns_entry($domain, $this->application->destination->server)) { - $showToaster && $this->dispatch('error', "Validating DNS ($domain) failed.", "Make sure you have added the DNS records correctly.

Check this documentation for further help."); + $showToaster && $this->dispatch('error', "Validating DNS ($domain) failed.", "Make sure you have added the DNS records correctly.

Check this documentation for further help."); } } } diff --git a/app/Livewire/Project/Application/Heading.php b/app/Livewire/Project/Application/Heading.php index 3047f9f23..089eb5e9f 100644 --- a/app/Livewire/Project/Application/Heading.php +++ b/app/Livewire/Project/Application/Heading.php @@ -56,11 +56,11 @@ class Heading extends Component return; } if (data_get($this->application, 'settings.is_build_server_enabled') && str($this->application->docker_registry_image_name)->isEmpty()) { - $this->dispatch('error', 'Failed to deploy.', 'To use a build server, you must first set a Docker image.
More information here: documentation'); + $this->dispatch('error', 'Failed to deploy.', 'To use a build server, you must first set a Docker image.
More information here: documentation'); return; } if ($this->application->additional_servers->count() > 0 && str($this->application->docker_registry_image_name)->isEmpty()) { - $this->dispatch('error', 'Failed to deploy.', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); + $this->dispatch('error', 'Failed to deploy.', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); return; } $this->setDeploymentUuid(); @@ -99,7 +99,7 @@ class Heading extends Component public function restart() { if ($this->application->additional_servers->count() > 0 && str($this->application->docker_registry_image_name)->isEmpty()) { - $this->dispatch('error', 'Failed to deploy', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); + $this->dispatch('error', 'Failed to deploy', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); return; } $this->setDeploymentUuid(); diff --git a/app/Livewire/Project/Shared/Destination.php b/app/Livewire/Project/Shared/Destination.php index 787b9da20..fa19e8c42 100644 --- a/app/Livewire/Project/Shared/Destination.php +++ b/app/Livewire/Project/Shared/Destination.php @@ -56,7 +56,7 @@ class Destination extends Component public function redeploy(int $network_id, int $server_id) { if ($this->resource->additional_servers->count() > 0 && str($this->resource->docker_registry_image_name)->isEmpty()) { - $this->dispatch('error', 'Failed to deploy.', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); + $this->dispatch('error', 'Failed to deploy.', 'Before deploying to multiple servers, you must first set a Docker image in the General tab.
More information here: documentation'); return; } $deployment_uuid = new Cuid2(7); diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php index 098a7c1ff..ff9aaf701 100644 --- a/app/Livewire/Server/Form.php +++ b/app/Livewire/Server/Form.php @@ -82,7 +82,7 @@ class Form extends Component $this->server->settings->is_usable = true; $this->server->settings->save(); } else { - $this->dispatch('error', 'Server is not reachable.', 'Please validate your configuration and connection.

Check this documentation for further help.'); + $this->dispatch('error', 'Server is not reachable.', 'Please validate your configuration and connection.

Check this documentation for further help.'); return; } } diff --git a/app/Livewire/Server/ShowPrivateKey.php b/app/Livewire/Server/ShowPrivateKey.php index 43b55fbb6..d44d2cb5f 100644 --- a/app/Livewire/Server/ShowPrivateKey.php +++ b/app/Livewire/Server/ShowPrivateKey.php @@ -39,7 +39,7 @@ class ShowPrivateKey extends Component if ($uptime) { $this->dispatch('success', 'Server is reachable.'); } else { - $this->dispatch('error', 'Server is not reachable.
Please validate your configuration and connection.

Check this documentation for further help.'); + $this->dispatch('error', 'Server is not reachable.
Please validate your configuration and connection.

Check this documentation for further help.'); return; } } catch (\Throwable $e) { diff --git a/app/Livewire/Server/ValidateAndInstall.php b/app/Livewire/Server/ValidateAndInstall.php index ff623e972..6d4173956 100644 --- a/app/Livewire/Server/ValidateAndInstall.php +++ b/app/Livewire/Server/ValidateAndInstall.php @@ -75,7 +75,7 @@ class ValidateAndInstall extends Component { $this->uptime = $this->server->validateConnection(); if (!$this->uptime) { - $this->error = 'Server is not reachable. Please validate your configuration and connection.

Check this documentation for further help.'; + $this->error = 'Server is not reachable. Please validate your configuration and connection.

Check this documentation for further help.'; return; } $this->dispatch('validateOS'); diff --git a/app/Notifications/Server/HighDiskUsage.php b/app/Notifications/Server/HighDiskUsage.php index d8794600d..33e49387e 100644 --- a/app/Notifications/Server/HighDiskUsage.php +++ b/app/Notifications/Server/HighDiskUsage.php @@ -53,13 +53,13 @@ class HighDiskUsage extends Notification implements ShouldQueue public function toDiscord(): string { - $message = "Coolify: Server '{$this->server->name}' high disk usage detected!\nDisk usage: {$this->disk_usage}%. Threshold: {$this->cleanup_after_percentage}%.\nPlease cleanup your disk to prevent data-loss.\nHere are some tips: https://coolify.io/docs/automated-cleanup."; + $message = "Coolify: Server '{$this->server->name}' high disk usage detected!\nDisk usage: {$this->disk_usage}%. Threshold: {$this->cleanup_after_percentage}%.\nPlease cleanup your disk to prevent data-loss.\nHere are some tips: https://coolify.io/docs/knowledge-base/server/automated-cleanup."; return $message; } public function toTelegram(): array { return [ - "message" => "Coolify: Server '{$this->server->name}' high disk usage detected!\nDisk usage: {$this->disk_usage}%. Threshold: {$this->cleanup_after_percentage}%.\nPlease cleanup your disk to prevent data-loss.\nHere are some tips: https://coolify.io/docs/automated-cleanup." + "message" => "Coolify: Server '{$this->server->name}' high disk usage detected!\nDisk usage: {$this->disk_usage}%. Threshold: {$this->cleanup_after_percentage}%.\nPlease cleanup your disk to prevent data-loss.\nHere are some tips: https://coolify.io/docs/knowledge-base/server/automated-cleanup." ]; } } diff --git a/bootstrap/helpers/api.php b/bootstrap/helpers/api.php index 4fcdbac4f..46c0caa0a 100644 --- a/bootstrap/helpers/api.php +++ b/bootstrap/helpers/api.php @@ -7,5 +7,5 @@ function get_team_id_from_token() } function invalid_token() { - return response()->json(['error' => 'Invalid token.', 'docs' => 'https://coolify.io/docs/api/authentication'], 400); + return response()->json(['error' => 'Invalid token.', 'docs' => 'https://coolify.io/docs/api-reference/authorization'], 400); } diff --git a/resources/views/emails/high-disk-usage.blade.php b/resources/views/emails/high-disk-usage.blade.php index 5330ebd7f..3d57d228d 100644 --- a/resources/views/emails/high-disk-usage.blade.php +++ b/resources/views/emails/high-disk-usage.blade.php @@ -1,7 +1,7 @@ Your server ({{ $name }}) has high disk usage ({{ $disk_usage }}% used). Threshold is {{ $threshold }}%. -Please cleanup your disk to prevent data-loss. Here are some [tips](https://coolify.io/docs/automated-cleanup). +Please cleanup your disk to prevent data-loss. Here are some [tips](https://coolify.io/docs/knowledge-base/server/automated-cleanup). (You can change the threshold in the Server Settings menu.) diff --git a/resources/views/livewire/boarding/index.blade.php b/resources/views/livewire/boarding/index.blade.php index 34ae23591..0f0dd8210 100644 --- a/resources/views/livewire/boarding/index.blade.php +++ b/resources/views/livewire/boarding/index.blade.php @@ -60,7 +60,7 @@ server.
Check this documentation for further help. + href="https://coolify.io/docs/knowledge-base/server/openssh">documentation for further help. Check again diff --git a/resources/views/livewire/layout-popups.blade.php b/resources/views/livewire/layout-popups.blade.php index 94be1fbb2..7674afe26 100644 --- a/resources/views/livewire/layout-popups.blade.php +++ b/resources/views/livewire/layout-popups.blade.php @@ -18,7 +18,7 @@ if (checkNumber > 4) { this.popups.realtime = true; console.error( - 'Coolify could not connect to its real-time service. This will cause unusual problems on the UI if not fixed! Please check the related documentation (https://coolify.io/docs/cloudflare/tunnels) or get help on Discord (https://coollabs.io/discord).)' + 'Coolify could not connect to its real-time service. This will cause unusual problems on the UI if not fixed! Please check the related documentation (https://coolify.io/docs/knowledge-base/cloudflare/tunnels) or get help on Discord (https://coollabs.io/discord).)' ); clearInterval(checkPusherInterval); } @@ -37,7 +37,7 @@ Coolify could not connect to its real-time service.
This will cause unusual problems on the UI if not fixed!

Please check the - related documentation or get help on Discord.
diff --git a/resources/views/livewire/project/application/general.blade.php b/resources/views/livewire/project/application/general.blade.php index 413957e7d..44578c23c 100644 --- a/resources/views/livewire/project/application/general.blade.php +++ b/resources/views/livewire/project/application/general.blade.php @@ -48,7 +48,7 @@
+ helper="WARNING: Advanced use cases only. Your docker compose file will be deployed as-is. Nothing is modified by Coolify. You need to configure the proxy parts. More info in the documentation." />
@if (count($parsedServices) > 0 && !$application->settings->is_raw_compose_deployment_enabled)

Domains

@@ -84,13 +84,13 @@

Docker Registry

@if ($application->build_pack !== 'dockerimage' && !$application->destination->server->isSwarm()) + helper="Push the built image to a docker registry. More info here." /> @endif
@if ($application->destination->server->isSwarm()) @if ($application->build_pack !== 'dockerimage')
Docker Swarm requires the image to be available in a registry. More info here.
@endif @endif @@ -132,7 +132,7 @@ @if ($application->build_pack !== 'dockercompose')
@@ -148,7 +148,7 @@ id="application.start_command" label="Start Command" />
Nixpacks will detect the required configuration automatically. - Framework Specific Docs + Framework Specific Docs
@endif @endif @@ -206,13 +206,13 @@ know what are you doing.
@endif @else @endif diff --git a/resources/views/livewire/project/edit.blade.php b/resources/views/livewire/project/edit.blade.php index e291446f3..56806d287 100644 --- a/resources/views/livewire/project/edit.blade.php +++ b/resources/views/livewire/project/edit.blade.php @@ -24,7 +24,7 @@
You can use these variables anywhere with
@{{ project.VARIABLENAME }}
+ helper="More info here.">
@forelse ($project->environment_variables->sort()->sortBy('real_value') as $env) diff --git a/resources/views/livewire/project/environment-edit.blade.php b/resources/views/livewire/project/environment-edit.blade.php index 58f5b7c5c..5418c5036 100644 --- a/resources/views/livewire/project/environment-edit.blade.php +++ b/resources/views/livewire/project/environment-edit.blade.php @@ -49,7 +49,7 @@
You can use these variables anywhere with @{{environment.VARIABLENAME}} + helper="More info here.">
@forelse ($environment->environment_variables->sort()->sortBy('real_value') as $env) diff --git a/resources/views/livewire/project/service/stack-form.blade.php b/resources/views/livewire/project/service/stack-form.blade.php index b3f88c927..da34676f7 100644 --- a/resources/views/livewire/project/service/stack-form.blade.php +++ b/resources/views/livewire/project/service/stack-form.blade.php @@ -15,7 +15,7 @@
+ helper="By default, you do not reach the Coolify defined networks.
Starting a docker compose based resource will have an internal network.
If you connect to a Coolify defined network, you maybe need to use different internal DNS names to connect to a resource.

For more information, check this." />
@if ($fields)
diff --git a/resources/views/livewire/project/shared/webhooks.blade.php b/resources/views/livewire/project/shared/webhooks.blade.php index fe1382597..0fe999232 100644 --- a/resources/views/livewire/project/shared/webhooks.blade.php +++ b/resources/views/livewire/project/shared/webhooks.blade.php @@ -2,11 +2,11 @@

Webhooks

+ helper="For more details goto our docs." />
@if ($resource->type() === 'application') diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php index c1d33ae7e..80818c4db 100644 --- a/resources/views/livewire/server/form.blade.php +++ b/resources/views/livewire/server/form.blade.php @@ -83,20 +83,20 @@ @endif @if ($server->settings->is_swarm_worker) @else @endif @if ($server->settings->is_swarm_manager) @else @endif @endif diff --git a/resources/views/livewire/server/new/by-ip.blade.php b/resources/views/livewire/server/new/by-ip.blade.php index 59c8c6b74..e3b5b6396 100644 --- a/resources/views/livewire/server/new/by-ip.blade.php +++ b/resources/views/livewire/server/new/by-ip.blade.php @@ -29,24 +29,24 @@

Swarm (experimental)

Read the docs here.
@if ($is_swarm_worker || $is_build_server) @else @endif @if ($is_swarm_manager|| $is_build_server) @else @endif @if ($is_swarm_worker && count($swarm_managers) > 0) diff --git a/resources/views/livewire/server/proxy.blade.php b/resources/views/livewire/server/proxy.blade.php index 7ef521916..ee2edea72 100644 --- a/resources/views/livewire/server/proxy.blade.php +++ b/resources/views/livewire/server/proxy.blade.php @@ -17,8 +17,8 @@ xmlns="http://www.w3.org/2000/svg"> - Before switching proxies, please read this.
+ Before switching proxies, please read this.
@if ($server->proxyType() === 'TRAEFIK_V2')
Traefik v2
@elseif ($server->proxyType() === 'CADDY') diff --git a/resources/views/livewire/team-shared-variables-index.blade.php b/resources/views/livewire/team-shared-variables-index.blade.php index 0a697c7d0..640913f1f 100644 --- a/resources/views/livewire/team-shared-variables-index.blade.php +++ b/resources/views/livewire/team-shared-variables-index.blade.php @@ -8,7 +8,7 @@
You can use these variables anywhere with @{{ team.VARIABLENAME }} + helper="More info here.">
From d51e70bcaa58c1d88ed02cd4475e401dda54b02e Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:13:40 +0100 Subject: [PATCH 05/65] temporary disable containerrestarted for tcp proxies --- app/Jobs/ContainerStatusJob.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Jobs/ContainerStatusJob.php b/app/Jobs/ContainerStatusJob.php index 53e887825..333d46027 100644 --- a/app/Jobs/ContainerStatusJob.php +++ b/app/Jobs/ContainerStatusJob.php @@ -170,7 +170,7 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted })->first(); if (!$foundTcpProxy) { StartDatabaseProxy::run($service_db); - $this->server->team?->notify(new ContainerRestarted("TCP Proxy for {$service_db->service->name}", $this->server)); + // $this->server->team?->notify(new ContainerRestarted("TCP Proxy for {$service_db->service->name}", $this->server)); } } } From 3d3d31ef2919273611231e119ed1d176b63d54a9 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:28:12 +0100 Subject: [PATCH 06/65] fix: name/from address required for resend --- app/Livewire/Settings/Email.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Livewire/Settings/Email.php b/app/Livewire/Settings/Email.php index 3563e2e64..77b82df43 100644 --- a/app/Livewire/Settings/Email.php +++ b/app/Livewire/Settings/Email.php @@ -58,6 +58,8 @@ class Email extends Component try { $this->resetErrorBag(); $this->validate([ + 'settings.smtp_from_address' => 'required|email', + 'settings.smtp_from_name' => 'required', 'settings.resend_api_key' => 'required' ]); $this->settings->save(); @@ -90,6 +92,8 @@ class Email extends Component try { $this->resetErrorBag(); $this->validate([ + 'settings.smtp_from_address' => 'required|email', + 'settings.smtp_from_name' => 'required', 'settings.smtp_host' => 'required', 'settings.smtp_port' => 'required|numeric', 'settings.smtp_encryption' => 'nullable', From 43fed96af139cc2101728ef31fa21a77b437d250 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:35:57 +0100 Subject: [PATCH 07/65] fix: autoupdater --- app/Actions/Server/UpdateCoolify.php | 32 +++++++++++++++++++++------- app/Jobs/InstanceAutoUpdateJob.php | 2 +- app/Livewire/Upgrade.php | 4 ++-- bootstrap/helpers/shared.php | 2 +- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/app/Actions/Server/UpdateCoolify.php b/app/Actions/Server/UpdateCoolify.php index 09efb848e..6c01f75c9 100644 --- a/app/Actions/Server/UpdateCoolify.php +++ b/app/Actions/Server/UpdateCoolify.php @@ -12,10 +12,12 @@ class UpdateCoolify public ?Server $server = null; public ?string $latestVersion = null; public ?string $currentVersion = null; + public bool $async = false; - public function handle(bool $force) + public function handle(bool $force = false, bool $async = false) { try { + $this->async = $async; $settings = InstanceSettings::get(); ray('Running InstanceAutoUpdateJob'); $this->server = Server::find(0); @@ -56,17 +58,31 @@ class UpdateCoolify { if (isDev()) { ray("Running update on local docker container. Updating to $this->latestVersion"); - remote_process([ - "sleep 10" - ], $this->server); + if ($this->async) { + ray('Running async update'); + remote_process([ + "sleep 10" + ], $this->server); + } else { + instant_remote_process([ + "sleep 10" + ], $this->server); + } ray('Update done'); return; } else { ray('Running update on production server'); - remote_process([ - "curl -fsSL https://cdn.coollabs.io/coolify/upgrade.sh -o /data/coolify/source/upgrade.sh", - "bash /data/coolify/source/upgrade.sh $this->latestVersion" - ], $this->server); + if ($this->async) { + remote_process([ + "curl -fsSL https://cdn.coollabs.io/coolify/upgrade.sh -o /data/coolify/source/upgrade.sh", + "bash /data/coolify/source/upgrade.sh $this->latestVersion" + ], $this->server); + } else { + instant_remote_process([ + "curl -fsSL https://cdn.coollabs.io/coolify/upgrade.sh -o /data/coolify/source/upgrade.sh", + "bash /data/coolify/source/upgrade.sh $this->latestVersion" + ], $this->server); + } return; } } diff --git a/app/Jobs/InstanceAutoUpdateJob.php b/app/Jobs/InstanceAutoUpdateJob.php index 99e0a34f3..fa5c29421 100644 --- a/app/Jobs/InstanceAutoUpdateJob.php +++ b/app/Jobs/InstanceAutoUpdateJob.php @@ -23,6 +23,6 @@ class InstanceAutoUpdateJob implements ShouldQueue, ShouldBeUnique, ShouldBeEncr public function handle(): void { - UpdateCoolify::run($this->force); + UpdateCoolify::run(force: $this->force, async: false); } } diff --git a/app/Livewire/Upgrade.php b/app/Livewire/Upgrade.php index 0c6541d8f..37c2a64ef 100644 --- a/app/Livewire/Upgrade.php +++ b/app/Livewire/Upgrade.php @@ -37,8 +37,8 @@ class Upgrade extends Component return; } $this->showProgress = true; - UpdateCoolify::run(true); - $this->dispatch('success', "Upgrading to {$this->latestVersion} version..."); + UpdateCoolify::run(force: true, async: true); + $this->dispatch('success', "Updating Coolify to {$this->latestVersion} version..."); } catch (\Throwable $e) { return handleError($e, $this); } diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index bfff8098a..5892715ca 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -110,7 +110,7 @@ function handleError(?Throwable $error = null, ?Livewire\Component $livewire = n ray($error); if ($error instanceof TooManyRequestsException) { if (isset($livewire)) { - return $livewire->dispatch('error', 'Too many requests. Please try again in {$error->secondsUntilAvailable} seconds.'); + return $livewire->dispatch('error', "Too many requests. Please try again in {$error->secondsUntilAvailable} seconds."); } return "Too many requests. Please try again in {$error->secondsUntilAvailable} seconds."; } From be3cbd9e21c51cb85bf585813ce618b303f9c4d0 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:37:09 +0100 Subject: [PATCH 08/65] Refactor email settings message in email.blade.php --- resources/views/livewire/settings/email.blade.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/resources/views/livewire/settings/email.blade.php b/resources/views/livewire/settings/email.blade.php index 1c7bc0bc8..106dd77d4 100644 --- a/resources/views/livewire/settings/email.blade.php +++ b/resources/views/livewire/settings/email.blade.php @@ -2,11 +2,7 @@

Transactional Email

- @if (isCloud()) -
Email settings for password resets, invitations, shared with Pro+ subscribers etc.
- @else -
Email settings for password resets, invitations, etc.
- @endif +
Email settings for password resets, invitations, etc.
Date: Wed, 27 Mar 2024 11:38:21 +0100 Subject: [PATCH 09/65] Update Docker build configurations for arm64-v8 architecture --- .github/workflows/development-build.yml | 31 +++++++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/.github/workflows/development-build.yml b/.github/workflows/development-build.yml index d64af3b59..5c17a5b6b 100644 --- a/.github/workflows/development-build.yml +++ b/.github/workflows/development-build.yml @@ -30,7 +30,7 @@ jobs: platforms: linux/amd64 push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - aarch64: + arm64-v8: runs-on: [self-hosted, arm64] permissions: contents: read @@ -48,15 +48,36 @@ jobs: with: context: . file: docker/prod-ssu/Dockerfile - platforms: linux/aarch64 + platforms: linux/arm64/v8 push: true - tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-aarch64 + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64-v8 + arm64: + runs-on: [self-hosted, arm64] + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - name: Login to ghcr.io + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build image and push to registry + uses: docker/build-push-action@v5 + with: + context: . + file: docker/prod-ssu/Dockerfile + platforms: linux/arm64 + push: true + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 merge-manifest: runs-on: ubuntu-latest permissions: contents: read packages: write - needs: [amd64, aarch64] + needs: [amd64, arm64, arm64-v8] steps: - name: Checkout uses: actions/checkout@v4 @@ -72,7 +93,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64-v8 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - uses: sarisia/actions-status-discord@v1 if: always() with: From d92b5db3207100749360b1465ee452a00b15a4fa Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:41:14 +0100 Subject: [PATCH 10/65] Refactor forgot password page layout --- .../views/auth/forgot-password.blade.php | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/resources/views/auth/forgot-password.blade.php b/resources/views/auth/forgot-password.blade.php index 08d52facd..54d57a302 100644 --- a/resources/views/auth/forgot-password.blade.php +++ b/resources/views/auth/forgot-password.blade.php @@ -1,18 +1,15 @@ -
-
-
- -
Coolify
-
- {{-- --}} +
+
+ + Coolify +
+ {{ __('auth.forgot_password') }}
- -
-

{{ __('auth.forgot_password') }}

-
-
- @if (is_transactional_emails_active()) +
+
+ @if (is_transactional_emails_active()) @csrf @@ -37,7 +34,9 @@ {{ session('status') }}
@endif +
-
+ + From f9b82f711f223ac8786ded42dc2469e4afeb18c1 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:48:04 +0100 Subject: [PATCH 11/65] Update platform tags in development-build.yml --- .github/workflows/development-build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/development-build.yml b/.github/workflows/development-build.yml index 5c17a5b6b..6ed3dfe75 100644 --- a/.github/workflows/development-build.yml +++ b/.github/workflows/development-build.yml @@ -30,7 +30,7 @@ jobs: platforms: linux/amd64 push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - arm64-v8: + arm-v8: runs-on: [self-hosted, arm64] permissions: contents: read @@ -48,9 +48,9 @@ jobs: with: context: . file: docker/prod-ssu/Dockerfile - platforms: linux/arm64/v8 + platforms: linux/arm/v8 push: true - tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64-v8 + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm-v8 arm64: runs-on: [self-hosted, arm64] permissions: @@ -77,7 +77,7 @@ jobs: permissions: contents: read packages: write - needs: [amd64, arm64, arm64-v8] + needs: [amd64, arm64, arm-v8] steps: - name: Checkout uses: actions/checkout@v4 @@ -93,7 +93,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64-v8 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm-v8 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - uses: sarisia/actions-status-discord@v1 if: always() with: From 58b451f616efbed1a122c3fc358bb59153a554aa Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 11:59:01 +0100 Subject: [PATCH 12/65] Update GitHub Actions versions --- .github/workflows/coolify-helper-next.yml | 20 +++++++------- .github/workflows/coolify-helper.yml | 20 +++++++------- .github/workflows/coolify-testing-host.yml | 20 +++++++------- .github/workflows/development-build.yml | 31 ++++------------------ .github/workflows/docker-image.yml | 2 +- 5 files changed, 36 insertions(+), 57 deletions(-) diff --git a/.github/workflows/coolify-helper-next.yml b/.github/workflows/coolify-helper-next.yml index fe14ba759..d9921b363 100644 --- a/.github/workflows/coolify-helper-next.yml +++ b/.github/workflows/coolify-helper-next.yml @@ -18,15 +18,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -40,15 +40,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -64,13 +64,13 @@ jobs: needs: [ amd64, aarch64 ] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} diff --git a/.github/workflows/coolify-helper.yml b/.github/workflows/coolify-helper.yml index d174bfaf9..7e8132ec6 100644 --- a/.github/workflows/coolify-helper.yml +++ b/.github/workflows/coolify-helper.yml @@ -18,15 +18,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -40,15 +40,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -64,13 +64,13 @@ jobs: needs: [ amd64, aarch64 ] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} diff --git a/.github/workflows/coolify-testing-host.yml b/.github/workflows/coolify-testing-host.yml index a40dfd285..5fdc32991 100644 --- a/.github/workflows/coolify-testing-host.yml +++ b/.github/workflows/coolify-testing-host.yml @@ -18,15 +18,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -40,15 +40,15 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to registry - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: no-cache: true context: . @@ -64,13 +64,13 @@ jobs: needs: [ amd64, aarch64 ] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} diff --git a/.github/workflows/development-build.yml b/.github/workflows/development-build.yml index 6ed3dfe75..d64af3b59 100644 --- a/.github/workflows/development-build.yml +++ b/.github/workflows/development-build.yml @@ -30,7 +30,7 @@ jobs: platforms: linux/amd64 push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - arm-v8: + aarch64: runs-on: [self-hosted, arm64] permissions: contents: read @@ -48,36 +48,15 @@ jobs: with: context: . file: docker/prod-ssu/Dockerfile - platforms: linux/arm/v8 + platforms: linux/aarch64 push: true - tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm-v8 - arm64: - runs-on: [self-hosted, arm64] - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v4 - - name: Login to ghcr.io - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build image and push to registry - uses: docker/build-push-action@v5 - with: - context: . - file: docker/prod-ssu/Dockerfile - platforms: linux/arm64 - push: true - tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-aarch64 merge-manifest: runs-on: ubuntu-latest permissions: contents: read packages: write - needs: [amd64, arm64, arm-v8] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v4 @@ -93,7 +72,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm-v8 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 36def4911..0edaa4f1c 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -14,7 +14,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Cache Docker layers uses: actions/cache@v2 with: From 3fca169096e488063a9de04eddc094e7c3451be3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 27 Mar 2024 12:45:53 +0100 Subject: [PATCH 13/65] feat: change page width --- resources/views/components/navbar.blade.php | 16 ++++++++++++++-- resources/views/layouts/app.blade.php | 9 +++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index 07f0e885e..aae13b4c8 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -1,5 +1,14 @@
-
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 744f33739..caed5ff3a 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -5,7 +5,12 @@ @endif @auth -
+