Skip to content

Commit 7aab446

Browse files
authored
Merge branch 'cf-production-ready' into next
2 parents 04e504b + 35857de commit 7aab446

File tree

4 files changed

+67
-72
lines changed

4 files changed

+67
-72
lines changed

app/Livewire/Server/Form.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,4 +238,12 @@ public function updatedServerSettingsServerTimezone($value)
238238
$this->server->settings->save();
239239
$this->dispatch('success', 'Server timezone updated.');
240240
}
241+
242+
public function manualCloudflareConfig()
243+
{
244+
$this->server->settings->is_cloudflare_tunnel = true;
245+
$this->server->settings->save();
246+
$this->server->refresh();
247+
$this->dispatch('success', 'Cloudflare Tunnels enabled.');
248+
}
241249
}

resources/views/livewire/boarding/index.blade.php

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -273,27 +273,23 @@ class="bg-red-200 dark:bg-red-900 px-1 rounded">~/.ssh/authorized_keys</code>
273273
Please let me know your server details.
274274
</x-slot:question>
275275
<x-slot:actions>
276-
<form wire:submit='saveServer' class="flex flex-col w-full gap-4 lg:pr-10">
277-
<div class="flex flex-col gap-2 lg:flex-row">
278-
<x-forms.input required placeholder="Choose a name for your Server. Could be anything."
279-
label="Name" id="remoteServerName" wire:model="remoteServerName" />
280-
<x-forms.input placeholder="Description, so others will know more about this."
281-
label="Description" id="remoteServerDescription"
282-
wire:model="remoteServerDescription" />
283-
</div>
284-
<div class="flex flex-col gap-2 lg:flex-row ">
285-
<x-forms.input required placeholder="127.0.0.1" label="IP Address" id="remoteServerHost"
286-
wire:model="remoteServerHost" />
287-
</div>
276+
<form wire:submit='saveServer' class="flex flex-col w-full gap-4 lg:w-96">
277+
<x-forms.input required placeholder="Choose a name for your Server. Could be anything."
278+
label="Name" id="remoteServerName" wire:model="remoteServerName" />
279+
<x-forms.input placeholder="Description, so others will know more about this."
280+
label="Description" id="remoteServerDescription"
281+
wire:model="remoteServerDescription" />
282+
<x-forms.input required placeholder="127.0.0.1" label="IP Address" id="remoteServerHost"
283+
wire:model="remoteServerHost" />
288284
<div x-data="{ showAdvanced: false }" class="flex flex-col gap-2">
289285
<button @click="showAdvanced = !showAdvanced" type="button"
290286
class="text-left text-sm text-gray-600 dark:text-gray-300 hover:underline">
291287
Advanced Settings
292288
</button>
293-
<div x-show="showAdvanced" class="flex flex-col gap-2 lg:flex-row">
289+
<div x-show="showAdvanced" class="flex flex-col gap-2">
294290
<x-forms.input placeholder="Port number of your server. Default is 22." label="Port"
295291
id="remoteServerPort" wire:model="remoteServerPort" />
296-
<div class="w-full">
292+
<div>
297293
<x-forms.input placeholder="Default is root." label="User"
298294
id="remoteServerUser" wire:model="remoteServerUser" />
299295
<div class="text-xs text-gray-600 dark:text-gray-300">Non-root user is
@@ -303,11 +299,6 @@ class="text-left text-sm text-gray-600 dark:text-gray-300 hover:underline">
303299
</div>
304300
</div>
305301
</div>
306-
<div class="lg:w-64">
307-
<x-forms.checkbox
308-
helper="If you are using Cloudflare Tunnels, enable this. It will proxy all ssh requests to your server through Cloudflare.<br><span class='dark:text-warning'>Coolify does not install/setup Cloudflare (cloudflared) on your server.</span>"
309-
id="isCloudflareTunnel" label="Cloudflare Tunnel" wire:model="isCloudflareTunnel" />
310-
</div>
311302
<x-forms.button type="submit">Continue</x-forms.button>
312303
</form>
313304
</x-slot:actions>

resources/views/livewire/server/configure-cloudflare-tunnels.blade.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22
<x-forms.input id="cloudflare_token" required label="Cloudflare Token" />
33
<x-forms.input id="ssh_domain" label="Configured SSH Domain" required
44
helper="The SSH Domain you configured in Cloudflare" />
5-
<x-forms.button type="submit" isHighlighted @click="modalOpen=false">Automated Configuration (experimental)</x-forms.button>
6-
<h3 class="text-center">Or</h3>
7-
<x-forms.button wire:click.prevent='alreadyConfigured' @click="modalOpen=false">I have already set up the tunnel manually on the server.</x-forms.button>
5+
<x-forms.button type="submit" isHighlighted @click="modalOpen=false">Automated Configuration</x-forms.button>
86
</form>

resources/views/livewire/server/form.blade.php

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -116,65 +116,63 @@ class="px-4 py-2 text-gray-800 cursor-pointer hover:bg-gray-100 dark:hover:bg-co
116116
</div>
117117
</div>
118118
</div>
119-
<div class="w-64">
120-
@if ($server->isFunctional())
121-
@if (!$server->isLocalhost())
122-
<x-forms.checkbox instantSave id="server.settings.is_build_server"
123-
label="Use it as a build server?" />
124-
<div class="flex gap-1 items-center pt-6">
125-
<h3 class="">Cloudflare Tunnels
126-
</h3>
119+
120+
<div class="w-96">
121+
@if (!$server->isLocalhost())
122+
<x-forms.checkbox instantSave id="server.settings.is_build_server"
123+
label="Use it as a build server?" />
124+
<div class="flex flex-col gap-2 pt-6">
125+
<div class="flex items-center gap-1">
126+
<h3 class="text-lg font-semibold">Cloudflare Tunnels</h3>
127127
<x-helper class="inline-flex"
128-
helper="If you are using Cloudflare Tunnels, enable this. It will proxy all SSH requests to your server through Cloudflare.<br><span class='dark:text-warning'>Coolify does not install or set up Cloudflare (cloudflared) on your server.</span>" />
128+
helper="If you are using Cloudflare Tunnels, enable this. It will proxy all SSH requests to your server through Cloudflare.<br> You then can close your server's SSH port in the firewall of your hosting provider.<br><span class='dark:text-warning'>If you choose manual configuration, Coolify does not install or set up Cloudflare (cloudflared) on your server.</span>" />
129129
</div>
130130
@if ($server->settings->is_cloudflare_tunnel)
131131
<x-forms.checkbox instantSave id="server.settings.is_cloudflare_tunnel" label="Enabled" />
132-
@else
133-
<x-modal-input buttonTitle="Configure" title="Cloudflare Tunnels">
132+
@elseif (!$server->isFunctional())
133+
<div class="p-4 mb-4 text-sm text-yellow-800 bg-yellow-100 rounded-lg dark:bg-yellow-900 dark:text-yellow-300">
134+
<p>Please select manual cloudflare tunnel configuration (first then hit validate server) or validate the server first and then you can select automatic configuration.</p>
135+
<p class="mt-2">For more information, please read our <a href="https://coolify.io/docs/knowledge-base/cloudflare/tunnels/" target="_blank" class="font-medium underline hover:text-yellow-600 dark:hover:text-yellow-200">Documentation</a>.</p>
136+
</div>
137+
@endif
138+
@if (!$server->settings->is_cloudflare_tunnel && $server->isFunctional())
139+
<x-modal-input buttonTitle="Automatic Configuration" title="Cloudflare Tunnels" class="w-full">
134140
<livewire:server.configure-cloudflare-tunnels :server_id="$server->id" />
135141
</x-modal-input>
136142
@endif
137-
@if (!$server->isBuildServer())
138-
<h3 class="pt-6">Swarm <span class="text-xs text-neutral-500">(experimental)</span></h3>
139-
<div class="pb-4">Read the docs <a class='underline dark:text-white'
140-
href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>.
141-
</div>
142-
@if ($server->settings->is_swarm_worker)
143-
<x-forms.checkbox disabled instantSave type="checkbox"
144-
id="server.settings.is_swarm_manager"
145-
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
146-
label="Is it a Swarm Manager?" />
147-
@else
148-
<x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_manager"
149-
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
150-
label="Is it a Swarm Manager?" />
151-
@endif
152-
153-
@if ($server->settings->is_swarm_manager)
154-
<x-forms.checkbox disabled instantSave type="checkbox"
155-
id="server.settings.is_swarm_worker"
156-
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
157-
label="Is it a Swarm Worker?" />
158-
@else
159-
<x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_worker"
160-
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
161-
label="Is it a Swarm Worker?" />
162-
@endif
143+
@if (!$server->settings->is_cloudflare_tunnel)
144+
<x-forms.button wire:click="manualCloudflareConfig" class="w-full">
145+
I have configured Cloudflare Tunnels manually
146+
</x-forms.button>
163147
@endif
164-
@endif
165-
@else
166-
<div class="flex gap-1 items-center pt-6">
167-
<h3 class="">Cloudflare Tunnels
168-
</h3>
169-
<x-helper class="inline-flex"
170-
helper="If you are using Cloudflare Tunnels, enable this. It will proxy all SSH requests to your server through Cloudflare.<br><span class='dark:text-warning'>Coolify does not install or set up Cloudflare (cloudflared) on your server.</span>" />
148+
171149
</div>
172-
@if ($server->settings->is_cloudflare_tunnel)
173-
<x-forms.checkbox instantSave id="server.settings.is_cloudflare_tunnel" label="Enabled" />
174-
@else
175-
<x-modal-input buttonTitle="Configure" title="Cloudflare Tunnels">
176-
<livewire:server.configure-cloudflare-tunnels :server_id="$server->id" />
177-
</x-modal-input>
150+
@if (!$server->isBuildServer())
151+
<h3 class="pt-6">Swarm <span class="text-xs text-neutral-500">(experimental)</span></h3>
152+
<div class="pb-4">Read the docs <a class='underline dark:text-white'
153+
href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>.
154+
</div>
155+
@if ($server->settings->is_swarm_worker)
156+
<x-forms.checkbox disabled instantSave type="checkbox"
157+
id="server.settings.is_swarm_manager"
158+
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
159+
label="Is it a Swarm Manager?" />
160+
@else
161+
<x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_manager"
162+
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
163+
label="Is it a Swarm Manager?" />
164+
@endif
165+
166+
@if ($server->settings->is_swarm_manager)
167+
<x-forms.checkbox disabled instantSave type="checkbox"
168+
id="server.settings.is_swarm_worker"
169+
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
170+
label="Is it a Swarm Worker?" />
171+
@else
172+
<x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_worker"
173+
helper="For more information, please read the documentation <a class='dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/swarm' target='_blank'>here</a>."
174+
label="Is it a Swarm Worker?" />
175+
@endif
178176
@endif
179177
@endif
180178
</div>

0 commit comments

Comments
 (0)