This commit is contained in:
Andras Bacsai
2023-05-18 15:12:26 +02:00
parent d4c35dc6c8
commit 203c19c01f
17 changed files with 117 additions and 89 deletions

View File

@@ -1,20 +1,38 @@
<div class="flex items-center gap-2">
@if ($application->status === 'running')
<x-inputs.button wire:click='start'>Rebuild</x-inputs.button>
<x-inputs.button wire:click='forceRebuild'>Force Rebuild</x-inputs.button>
<x-inputs.button wire:click='stop'>Stop</x-inputs.button>
<div class="btn-group">
<x-inputs.button isWarning wire:click='stop'>Stop</x-inputs.button>
<div class="border-none dropdown dropdown-hover btn btn-xs bg-coollabs hover:bg-coollabs-100 no-animation">
<button tabindex="0" class="flex items-center justify-center h-full">👇</button>
<ul tabindex="0"
class="text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
<li>
<div wire:click='forceRebuild'>Force deploy without cache</div>
</li>
</ul>
</div>
</div>
@else
<x-inputs.button wire:click='start'>Start</x-inputs.button>
<x-inputs.button wire:click='forceRebuild'>Start (no cache)</x-inputs.button>
<div class="btn-group">
<x-inputs.button isHighlighted wire:click='start'>Deploy</x-inputs.button>
<div class="border-none dropdown dropdown-hover btn btn-xs bg-coollabs hover:bg-coollabs-100 no-animation">
<button tabindex="0" class="flex items-center justify-center h-full">👇</button>
<ul tabindex="0"
class="text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
<li>
<div wire:click='forceRebuild'>Deploy without cache</div>
</li>
</ul>
</div>
</div>
@endif
<span wire:poll.5000ms='pollingStatus'>
@if ($application->status === 'running')
{{-- @if ($application->status === 'running')
<span class="text-xs text-pink-600" wire:loading.delay.longer>Loading current status...</span>
<span class="text-green-500" wire:loading.remove.delay.longer>{{ $application->status }}</span>
@else
<span class="text-xs text-pink-600" wire:loading.delay.longer>Loading current status...</span>
<span class="text-red-500" wire:loading.remove.delay.longer>{{ $application->status }}</span>
@endif
@endif --}}
</span>
</div>

View File

@@ -1,7 +1,7 @@
<form wire:submit.prevent='submit' class="flex flex-col px-2 max-w-fit">
<div class="flex gap-2">
<x-inputs.input noDirty id="key" label="Name" required />
<x-inputs.input noDirty id="value" label="Value" required />
<x-inputs.input placeholder="NODE_ENV" noDirty id="key" label="Name" required />
<x-inputs.input placeholder="production" noDirty id="value" label="Value" required />
<x-inputs.checkbox noDirty class="flex-col items-center" id="is_build_time" label="Build Variable?" />
</div>
<div class="pt-2">

View File

@@ -7,10 +7,10 @@
</x-inputs.button>
</div>
<div class="flex flex-col gap-2 pb-4">
<div class="flex gap-2">
<div class="flex flex-col gap-2 xl:flex-row">
<x-inputs.input class="w-full" id="application.name" label="Name" required />
<x-inputs.input class="w-full" id="application.fqdn" label="Domains"
helper="You can specify one domain with path or more with comma.<br><span class='inline-block font-bold text-warning'>Example</span>- http://app.coolify.io,https://cloud.coolify.io/dashboard<br>- http://app.coolify.io/api/v3" />
<x-inputs.input placeholder="https://coolify.io" class="w-full" id="application.fqdn" label="Domains"
helper="You can specify one domain with path or more with comma.<br><span class='inline-block font-bold text-warning'>Example</span>- http://app.coolify.io, https://cloud.coolify.io/dashboard<br>- http://app.coolify.io/api/v3" />
</div>
<x-inputs.select id="application.build_pack" label="Build Pack" required>
<option value="nixpacks">Nixpacks</option>
@@ -23,28 +23,29 @@
<option disabled value="apache:alpine">apache:alpine</option>
</x-inputs.select>
@endif
<div class="flex gap-2">
<x-inputs.input id="application.install_command" label="Install Command" />
<x-inputs.input id="application.build_command" label="Build Command" />
<x-inputs.input id="application.start_command" label="Start Command" />
<div class="flex flex-col gap-2 xl:flex-row">
<x-inputs.input placeholder="pnpm install" id="application.install_command" label="Install Command" />
<x-inputs.input placeholder="pnpm build" id="application.build_command" label="Build Command" />
<x-inputs.input placeholder="pnpm start" id="application.start_command" label="Start Command" />
</div>
<div class="flex gap-2">
<x-inputs.input id="application.base_directory" label="Base Directory"
<div class="flex flex-col gap-2 xl:flex-row">
<x-inputs.input placeholder="/" id="application.base_directory" label="Base Directory"
helper="Directory to use as root. Useful for monorepos." />
@if ($application->settings->is_static)
<x-inputs.input id="application.publish_directory" label="Publish Directory" required />
<x-inputs.input placeholder="/dist" id="application.publish_directory" label="Publish Directory"
required />
@else
<x-inputs.input id="application.publish_directory" label="Publish Directory" />
<x-inputs.input placeholder="/" id="application.publish_directory" label="Publish Directory" />
@endif
</div>
<div class="flex gap-2">
<div class="flex flex-col gap-2 xl:flex-row">
@if ($application->settings->is_static)
<x-inputs.input id="application.ports_exposes" label="Ports Exposes" readonly />
@else
<x-inputs.input id="application.ports_exposes" label="Ports Exposes" required
helper="A comma separated list of ports you would like to expose for the proxy." />
<x-inputs.input placeholder="3000,3001" id="application.ports_exposes" label="Ports Exposes"
required helper="A comma separated list of ports you would like to expose for the proxy." />
@endif
<x-inputs.input id="application.ports_mappings" label="Ports Mappings"
<x-inputs.input placeholder="3000:3000" id="application.ports_mappings" label="Ports Mappings"
helper="A comma separated list of ports you would like to map to the host system. Useful when you do not want to use domains.<br><span class='inline-block font-bold text-warning'>Example</span>3000:3000,3002:3002" />
</div>
</div>

View File

@@ -4,6 +4,11 @@
<h2>Resource Limits</h2>
<x-inputs.button type='submit'>Save</x-inputs.button>
</div>
<div>Limit your container resources by CPU & memory.</div>
<h3>CPU</h3>
<x-inputs.input placeholder="1.5" label="Number of CPUs" id="application.limits_cpus" />
<x-inputs.input placeholder="0-2" label="CPU set to use" id="application.limits_cpuset" />
<x-inputs.input placeholder="1024" label="CPU Weight" id="application.limits_cpu_shares" />
<h3>Memory</h3>
<x-inputs.input placeholder="69b or 420k or 1337m or 1g" label="Limit" id="application.limits_memory" />
<x-inputs.input placeholder="69b or 420k or 1337m or 1g" label="Swap" id="application.limits_memory_swap" />
@@ -12,9 +17,5 @@
<x-inputs.input placeholder="69b or 420k or 1337m or 1g" label="Soft Limit"
id="application.limits_memory_reservation" />
<x-inputs.checkbox label="Disable OOM kill" id="application.limits_memory_oom_kill" />
<h3>CPU</h3>
<x-inputs.input placeholder="1.5" label="Number of CPUs" id="application.limits_cpus" />
<x-inputs.input placeholder="0-2" label="CPU set to use" id="application.limits_cpuset" />
<x-inputs.input placeholder="1024" label="CPU Weight" id="application.limits_cpu_shares" />
</form>
</div>

View File

@@ -1,7 +1,7 @@
<div x-init="$wire.loadImages">
<div class="flex gap-2">
<h2>Rollback</h2>
<x-inputs.button isHighlighted wire:click='loadImages'>Refresh Images</x-inputs.button>
<x-inputs.button isHighlighted wire:click='loadImages'>Refresh</x-inputs.button>
</div>
<div wire:loading wire:target='loadImages'>
<x-loading />
@@ -30,7 +30,8 @@
</div>
</div>
@empty
<div>No images found</div>
<div>No images found
</div>
@endforelse
</div>
</div>

View File

@@ -1,21 +1,22 @@
<div>
<h2>Source</h2>
<div class="pb-8">{{ data_get($application, 'source.name') }}
@if (data_get($application, 'source.is_public'))
<span class="text-xs">public</span>
@endif
</div>
<form wire:submit.prevent='submit' class="flex flex-col gap-2 w-max-fit">
<x-inputs.input id="application.git_repository" label="Repository" />
<x-inputs.input id="application.git_branch" label=" Branch" />
<x-inputs.input id="application.git_commit_sha" placeholder="HEAD" label="Commit SHA" />
<div>
<form wire:submit.prevent='submit' class="flex flex-col gap-2">
<div class="flex gap-4">
<h2>Source</h2>
<x-inputs.button type="submit">Save</x-inputs.button>
<a target="_blank" href="{{ $application->gitCommits }}">
Commits
<x-external-link />
</a>
</div>
{{-- <div>{{ data_get($application, 'source.name') }}
@if (data_get($application, 'source.is_public'))
<span class="text-xs">public</span>
@endif
</div> --}}
<x-inputs.input placeholder="coollabsio/coolify-example" id="application.git_repository" label="Repository" />
<x-inputs.input placeholder="main" id="application.git_branch" label=" Branch" />
<x-inputs.input placeholder="HEAD" id="application.git_commit_sha" placeholder="HEAD" label="Commit SHA" />
</form>
</div>

View File

@@ -1,8 +1,8 @@
<form wire:submit.prevent='submit' class="flex flex-col px-2 pt-10 max-w-fit">
<div class="flex gap-2">
<x-inputs.input noDirty id="name" label="Name" required />
<x-inputs.input noDirty id="host_path" label="Source Path" />
<x-inputs.input noDirty id="mount_path" label="Destination Path" required />
<x-inputs.input placeholder="pv-name" noDirty id="name" label="Name" required />
<x-inputs.input placeholder="/root" noDirty id="host_path" label="Source Path" />
<x-inputs.input placeholder="/tmp/root" noDirty id="mount_path" label="Destination Path" required />
</div>
<div class="pt-2">
<x-inputs.button type="submit">