fix
This commit is contained in:
parent
ea2a13dff2
commit
d2b0823cd0
@ -1,5 +1,7 @@
|
||||
{
|
||||
"auth.login": "Login",
|
||||
"auth.already-registered": "Already registered?",
|
||||
"auth.register-now": "Register now!",
|
||||
"auth.logout": "Logout",
|
||||
"auth.register": "Register",
|
||||
"auth.registration_disabled": "Registration is disabled.",
|
||||
@ -11,5 +13,6 @@
|
||||
"input.name": "Name",
|
||||
"input.email": "Email",
|
||||
"input.password": "Password",
|
||||
"input.password.again": "Password Again"
|
||||
}
|
||||
"input.password.again": "Password Again",
|
||||
"button.save": "Save"
|
||||
}
|
@ -2,30 +2,32 @@
|
||||
<div class="flex items-center justify-center h-screen">
|
||||
<div>
|
||||
<div class="pb-8 text-5xl font-bold tracking-tight text-center text-white">Coolify</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<h1 class="pb-0">{{ __('auth.login') }}</h1>
|
||||
@if ($is_registration_enabled)
|
||||
<a href="/register" class="flex justify-center pt-2">
|
||||
<x.inputs-button>{{ __('auth.register-now') }}</x.inputs-button>
|
||||
</a>
|
||||
@else
|
||||
<div class="text-sm text-center">{{ __('auth.registration_disabled') }}</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="w-96">
|
||||
<form action="/login" method="POST" class="flex flex-col gap-2">
|
||||
@csrf
|
||||
<input type="email" name="email" placeholder="{{ __('input.email') }}"
|
||||
@env('local') value="test@example.com" @endenv autofocus />
|
||||
<input type="password" name="password" placeholder="{{ __('input.password') }}"
|
||||
@env('local') value="password" @endenv />
|
||||
<x-forms.input required type="email" name="email" label="{{ __('input.email') }}" autofocus />
|
||||
<x-forms.input required type="password" name="password" label="{{ __('input.password') }}" />
|
||||
@if ($errors->any())
|
||||
<div class="text-center text-error">
|
||||
<span>{{ __('auth.failed') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
<x-inputs.button type="submit">{{ __('auth.login') }}</x-inputs.button>
|
||||
<x-forms.button type="submit">{{ __('auth.login') }}</x-forms.button>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
@if ($is_registration_enabled)
|
||||
<a href="/register" class="flex justify-center pt-2">
|
||||
<button>{{ __('auth.register') }}</button>
|
||||
</a>
|
||||
@else
|
||||
<div class="text-sm text-center">{{ __('auth.registration_disabled') }}</div>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,28 +1,31 @@
|
||||
<x-layout-simple>
|
||||
<div class="flex items-center justify-center h-screen">
|
||||
<div>
|
||||
<div class="pb-8 text-5xl font-bold tracking-tight text-center text-white">Coolify</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<h1 class="pb-0">{{ __('auth.register') }}</h1>
|
||||
<a href="/login" class="flex justify-center pt-2">
|
||||
<x.inputs-button>{{ __('auth.already-registered') }}</x.inputs-button>
|
||||
</a>
|
||||
</div>
|
||||
<form action="/register" method="POST" class="flex flex-col gap-2">
|
||||
@csrf
|
||||
<input type="text" name="name" placeholder="{{ __('input.name') }}"
|
||||
@env('local') value="root" @endenv />
|
||||
<input type="email" name="email" placeholder="{{ __('input.email') }}"
|
||||
@env('local') value="test@example.com" @endenv />
|
||||
<input type="password" name="password" placeholder="{{ __('input.password') }}"
|
||||
@env('local') value="password" @endenv />
|
||||
<input type="password" name="password_confirmation" placeholder="{{ __('input.password.again') }}"
|
||||
@env('local') value="password" @endenv />
|
||||
<x-inputs.button type="submit">{{ __('auth.register') }}</x-inputs.button>
|
||||
<x-forms.input required type="text" name="name" label="{{ __('input.name') }}" />
|
||||
<x-forms.input required type="email" name="email" label="{{ __('input.email') }}" />
|
||||
<div class="flex gap-2">
|
||||
<x-forms.input required type="password" name="password" label="{{ __('input.password') }}" />
|
||||
<x-forms.input required type="password" name="password_confirmation"
|
||||
label="{{ __('input.password.again') }}" />
|
||||
</div>
|
||||
<x-forms.button type="submit">{{ __('auth.register') }}</x-forms.button>
|
||||
</form>
|
||||
@if ($errors->any())
|
||||
<div class="fixed top-0 alert alert-error">
|
||||
<div class="fixed top-0 text-xs alert alert-error">
|
||||
<ul>
|
||||
<li>{{ __('auth.failed') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
<a href="/login" class="flex justify-center pt-2">
|
||||
<button>{{ __('auth.login') }}</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</x-layout-simple>
|
||||
|
@ -22,8 +22,8 @@
|
||||
<div class="flex flex-col items-center justify-center h-full">
|
||||
<div class="pb-5 text-white" x-text="message"></div>
|
||||
<div>
|
||||
<x-inputs.button x-on:click='confirmed()'>Confirm</x-inputs.button>
|
||||
<x-inputs.button x-on:click="open = false">Cancel</x-inputs.button>
|
||||
<x-forms.button x-on:click='confirmed()'>Confirm</x-forms.button>
|
||||
<x-forms.button x-on:click="open = false">Cancel</x-forms.button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,23 +1,17 @@
|
||||
@props([
|
||||
'id' => $attributes->has('id') || $attributes->has('label'),
|
||||
'id' => $attributes->has('id'),
|
||||
'type' => $attributes->get('type') ?? 'text',
|
||||
'required' => null,
|
||||
'label' => $attributes->has('label'),
|
||||
'helper' => $attributes->has('helper'),
|
||||
'noLabel' => $attributes->has('noLabel'),
|
||||
'noDirty' => $attributes->has('noDirty'),
|
||||
'required' => null,
|
||||
'disabled' => null,
|
||||
'helper' => $attributes->has('helper'),
|
||||
'noDirty' => $attributes->has('noDirty'),
|
||||
])
|
||||
|
||||
<div {{ $attributes->merge(['class' => 'w-full form-control']) }}>
|
||||
@if (!$noLabel)
|
||||
@if ($label)
|
||||
<label class="label">
|
||||
<span class="label-text">
|
||||
@if ($label)
|
||||
{{ $label }}
|
||||
@else
|
||||
{{ $id }}
|
||||
@endif
|
||||
{{ $label }}
|
||||
@if ($required)
|
||||
<span class="text-warning">*</span>
|
||||
@endif
|
||||
@ -41,9 +35,11 @@ class="border rounded shadow border-coolgray-400 card compact dropdown-content b
|
||||
</span>
|
||||
</label>
|
||||
@endif
|
||||
<input {{ $attributes }} type={{ $type }} name={{ $id }} wire:model.defer={{ $id }}
|
||||
@if ($disabled !== null) disabled @endif @if ($required !== null) required @endif
|
||||
@if (!$noDirty) wire:dirty.class="input-warning" @endif />
|
||||
<input type={{ $type }}
|
||||
@if ($id) name={{ $id }} wire:model.defer={{ $id }} @endisset
|
||||
@if ($disabled !== null) disabled @endif
|
||||
@if ($required !== null) required @endif
|
||||
@if (!$noDirty && $id) wire:dirty.class="input-warning" @endif {{ $attributes }} />
|
||||
@error($id)
|
||||
<label class="label">
|
||||
<span class="text-red-500 label-text-alt">{{ $message }}</span>
|
@ -7,10 +7,10 @@
|
||||
<div class="relative modal-box">
|
||||
<div class="pb-8 text-base font-bold text-white">{{ $message }}</div>
|
||||
<div class="flex justify-end gap-4 text-xs">
|
||||
<x-inputs.button wire:click='{{ $action }}' x-on:click="{{ $show }} = false">
|
||||
<x-forms.button wire:click='{{ $action }}' x-on:click="{{ $show }} = false">
|
||||
Yes
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click="{{ $show }} = false">No</x-inputs.button>
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click="{{ $show }} = false">No</x-forms.button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,19 +11,6 @@
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->is('project/*') || request()->is('projects') ? 'text-warning' : '' }}"
|
||||
title="Projects">
|
||||
<a @if (!request()->is('projects')) href="/projects" @endif>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M12 4l-8 4l8 4l8 -4l-8 -4" />
|
||||
<path d="M4 12l8 4l8 -4" />
|
||||
<path d="M4 16l8 4l8 -4" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->is('server/*') || request()->is('servers') ? 'text-warning' : '' }}" title="Servers">
|
||||
<a @if (!request()->is('servers')) href="/servers" @endif>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
||||
@ -37,6 +24,20 @@
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ request()->is('project/*') || request()->is('projects') ? 'text-warning' : '' }}"
|
||||
title="Projects">
|
||||
<a @if (!request()->is('projects')) href="/projects" @endif>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M12 4l-8 4l8 4l8 -4l-8 -4" />
|
||||
<path d="M4 12l8 4l8 -4" />
|
||||
<path d="M4 16l8 4l8 -4" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
@if (auth()->user()->isPartOfRootTeam())
|
||||
<li class="{{ request()->is('command-center') ? 'text-warning' : '' }}" title="Command Center">
|
||||
<a @if (!request()->is('command-center')) href="/command-center" @endif>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div>
|
||||
<x-inputs.button wire:click='checkUpdate' type="submit">
|
||||
Check Update</x-inputs.button>
|
||||
<x-forms.button wire:click='checkUpdate' type="submit">
|
||||
Check Update</x-forms.button>
|
||||
@if ($updateAvailable)
|
||||
Update available
|
||||
@endif
|
||||
|
@ -1,18 +1,18 @@
|
||||
<div x-data="{ deleteDestination: false }">
|
||||
<x-naked-modal show="deleteDestination" message='Are you sure you would like to delete this destination?' />
|
||||
<form class="flex flex-col gap-4" wire:submit.prevent='submit'>
|
||||
<x-inputs.input id="destination.name" label="Name" />
|
||||
<x-inputs.input id="destination.server.ip" label="Server IP" readonly />
|
||||
<x-forms.input id="destination.name" label="Name" />
|
||||
<x-forms.input id="destination.server.ip" label="Server IP" readonly />
|
||||
@if ($destination->getMorphClass() === 'App\Models\StandaloneDocker')
|
||||
<x-inputs.input id="destination.network" label="Docker Network" readonly />
|
||||
<x-forms.input id="destination.network" label="Docker Network" readonly />
|
||||
@endif
|
||||
<div>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deleteDestination = true">
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deleteDestination = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -2,18 +2,18 @@
|
||||
<form class="flex flex-col gap-4" wire:submit.prevent='submit'>
|
||||
<div class="flex gap-2">
|
||||
<h1>New Destination</h1>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<x-inputs.input id="name" label="Name" required />
|
||||
<x-inputs.input id="network" label="Network" required />
|
||||
<x-inputs.select id="server_id" label="Select a server" required>
|
||||
<x-forms.input id="name" label="Name" required />
|
||||
<x-forms.input id="network" label="Network" required />
|
||||
<x-forms.select id="server_id" label="Select a server" required>
|
||||
@foreach ($servers as $server)
|
||||
<option disabled>Select a server</option>
|
||||
<option value="{{ $server->id }}">{{ $server->name }}</option>
|
||||
@endforeach
|
||||
</x-inputs.select>
|
||||
</x-forms.select>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,16 +1,16 @@
|
||||
<div x-data="{ deletePrivateKey: false }">
|
||||
<x-naked-modal show="deletePrivateKey" message='Are you sure you would like to delete this private key?' />
|
||||
<form class="flex flex-col gap-2" wire:submit.prevent='changePrivateKey'>
|
||||
<x-inputs.input id="private_key.name" label="Name" required />
|
||||
<x-inputs.input id="private_key.description" label="Description" />
|
||||
<x-inputs.textarea rows="10" id="private_key.private_key" label="Private Key" required />
|
||||
<x-forms.input id="private_key.name" label="Name" required />
|
||||
<x-forms.input id="private_key.description" label="Description" />
|
||||
<x-forms.textarea rows="10" id="private_key.private_key" label="Private Key" required />
|
||||
<div>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deletePrivateKey = true">
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deletePrivateKey = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<div>
|
||||
<form class="flex flex-col gap-2 " wire:submit.prevent='createPrivateKey'>
|
||||
<x-inputs.input id="name" label="Name" required />
|
||||
<x-inputs.input id="description" label="Description" />
|
||||
<x-inputs.textarea id="value" rows="10" placeholder="-----BEGIN OPENSSH PRIVATE KEY-----"
|
||||
<x-forms.input id="name" label="Name" required />
|
||||
<x-forms.input id="description" label="Description" />
|
||||
<x-forms.textarea id="value" rows="10" placeholder="-----BEGIN OPENSSH PRIVATE KEY-----"
|
||||
label="Private Key" required />
|
||||
<x-inputs.button type="submit" wire.click.prevent>
|
||||
<x-forms.button type="submit" wire.click.prevent>
|
||||
Save
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -2,9 +2,9 @@
|
||||
<form wire:submit.prevent='submit'>
|
||||
<div class="flex items-center gap-2">
|
||||
<h3>Profile</h3>
|
||||
<x-inputs.button type="submit" label="Save">Save</x-inputs.button>
|
||||
<x-forms.button type="submit" label="Save">Save</x-forms.button>
|
||||
</div>
|
||||
<x-inputs.input id="name" label="Name" required />
|
||||
<x-inputs.input id="email" label="Email" readonly />
|
||||
<x-forms.input id="name" label="Name" required />
|
||||
<x-forms.input id="email" label="Email" readonly />
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div x-data="{ deleteApplication: false }">
|
||||
<h2>Danger Zone</h2>
|
||||
<x-naked-modal show="deleteApplication" />
|
||||
<x-inputs.button x-on:click.prevent="deleteApplication = true">Delete this application</x-inputs.button>
|
||||
<x-forms.button x-on:click.prevent="deleteApplication = true">Delete this application</x-forms.button>
|
||||
</div>
|
||||
|
@ -1,12 +1,12 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col max-w-fit">
|
||||
<div class="flex gap-2">
|
||||
<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?" />
|
||||
<x-forms.input placeholder="NODE_ENV" noDirty id="key" label="Name" required />
|
||||
<x-forms.input placeholder="production" noDirty id="value" label="Value" required />
|
||||
<x-forms.checkbox noDirty class="flex-col items-center" id="is_build_time" label="Build Variable?" />
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Add
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -1,17 +1,17 @@
|
||||
<div x-data="{ deleteEnvironment: false }">
|
||||
<form wire:submit.prevent='submit' class="flex flex-col max-w-fit">
|
||||
<div class="flex gap-2">
|
||||
<x-inputs.input label="Name" id="env.key" />
|
||||
<x-inputs.input label="Value" id="env.value" />
|
||||
<x-inputs.checkbox disabled class="flex-col items-center" id="env.is_build_time" label="Build Variable?" />
|
||||
<x-forms.input label="Name" id="env.key" />
|
||||
<x-forms.input label="Value" id="env.value" />
|
||||
<x-forms.checkbox disabled class="flex-col items-center" id="env.is_build_time" label="Build Variable?" />
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Update
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deleteEnvironment = true">
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deleteEnvironment = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
<x-naked-modal show="deleteEnvironment" message="Are you sure you want to delete {{ $env->key }}?" />
|
||||
|
@ -2,15 +2,15 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||
<div class="flex gap-2">
|
||||
<h2>General</h2>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<x-inputs.checkbox instantSave id="is_static" label="Static website?" />
|
||||
<x-forms.checkbox instantSave id="is_static" label="Static website?" />
|
||||
<div class="flex flex-col gap-2 pb-4">
|
||||
<div class="flex flex-col items-end gap-2 xl:flex-row">
|
||||
<x-inputs.input class="w-full" id="application.name" label="Name" required />
|
||||
<x-inputs.input placeholder="https://coolify.io" class="w-full" id="application.fqdn" label="Domains"
|
||||
<x-forms.input class="w-full" id="application.name" label="Name" required />
|
||||
<x-forms.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>
|
||||
@ -18,67 +18,67 @@
|
||||
<div class="pb-6">
|
||||
<div class="text-sm">Set Random Domain</div>
|
||||
@if ($global_wildcard_domain)
|
||||
<x-inputs.button isHighlighted wire:click="generateGlobalRandomDomain">Global Wildcard
|
||||
</x-inputs.button>
|
||||
<x-forms.button isHighlighted wire:click="generateGlobalRandomDomain">Global Wildcard
|
||||
</x-forms.button>
|
||||
@endif
|
||||
@if ($project_wildcard_domain)
|
||||
<x-inputs.button isHighlighted wire:click="generateProjectRandomDomain">Project Wildcard
|
||||
</x-inputs.button>
|
||||
<x-forms.button isHighlighted wire:click="generateProjectRandomDomain">Project Wildcard
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
<x-inputs.select id="application.build_pack" label="Build Pack" required>
|
||||
<x-forms.select id="application.build_pack" label="Build Pack" required>
|
||||
<option value="nixpacks">Nixpacks</option>
|
||||
<option disabled value="docker">Docker</option>
|
||||
<option disabled value="compose">Compose</option>
|
||||
</x-inputs.select>
|
||||
</x-forms.select>
|
||||
@if ($application->settings->is_static)
|
||||
<x-inputs.select id="application.static_image" label="Static Image" required>
|
||||
<x-forms.select id="application.static_image" label="Static Image" required>
|
||||
<option value="nginx:alpine">nginx:alpine</option>
|
||||
<option disabled value="apache:alpine">apache:alpine</option>
|
||||
</x-inputs.select>
|
||||
</x-forms.select>
|
||||
@endif
|
||||
<div class="flex flex-col gap-2 pb-6 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" />
|
||||
<x-forms.input placeholder="pnpm install" id="application.install_command" label="Install Command" />
|
||||
<x-forms.input placeholder="pnpm build" id="application.build_command" label="Build Command" />
|
||||
<x-forms.input placeholder="pnpm start" id="application.start_command" label="Start Command" />
|
||||
</div>
|
||||
<div class="flex flex-col gap-2 xl:flex-row">
|
||||
<x-inputs.input placeholder="/" id="application.base_directory" label="Base Directory"
|
||||
<x-forms.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 placeholder="/dist" id="application.publish_directory" label="Publish Directory"
|
||||
<x-forms.input placeholder="/dist" id="application.publish_directory" label="Publish Directory"
|
||||
required />
|
||||
@else
|
||||
<x-inputs.input placeholder="/" id="application.publish_directory" label="Publish Directory" />
|
||||
<x-forms.input placeholder="/" id="application.publish_directory" label="Publish Directory" />
|
||||
@endif
|
||||
</div>
|
||||
<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 />
|
||||
<x-forms.input id="application.ports_exposes" label="Ports Exposes" readonly />
|
||||
@else
|
||||
<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." />
|
||||
<x-forms.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 placeholder="3000:3000" id="application.ports_mappings" label="Ports Mappings"
|
||||
<x-forms.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>
|
||||
<h3>Advanced</h3>
|
||||
<div class="flex flex-col">
|
||||
<x-inputs.checkbox helper="More logs will be visible during a deployment." instantSave id="is_debug"
|
||||
<x-forms.checkbox helper="More logs will be visible during a deployment." instantSave id="is_debug"
|
||||
label="Debug" />
|
||||
<x-inputs.checkbox
|
||||
<x-forms.checkbox
|
||||
helper="Your application will be available only on https if your domain starts with https://..."
|
||||
instantSave id="is_force_https" label="Force Https" />
|
||||
<x-inputs.checkbox helper="Automatically deploy new commits based on Git webhooks." instantSave
|
||||
<x-forms.checkbox helper="Automatically deploy new commits based on Git webhooks." instantSave
|
||||
id="is_auto_deploy" label="Auto Deploy?" />
|
||||
{{-- <x-inputs.checkbox helper="Preview deployments" instantSave id="is_previews" label="Previews?" /> --}}
|
||||
<x-inputs.checkbox instantSave id="is_git_submodules_allowed" label="Git Submodules Allowed?" />
|
||||
<x-inputs.checkbox instantSave id="is_git_lfs_allowed" label="Git LFS Allowed?" />
|
||||
{{-- <x-inputs.checkbox disabled instantSave id="is_dual_cert" label="Dual Certs?" />
|
||||
<x-inputs.checkbox disabled instantSave id="is_custom_ssl" label="Is Custom SSL?" />
|
||||
<x-inputs.checkbox disabled instantSave id="is_http2" label="Is Http2?" /> --}}
|
||||
{{-- <x-forms.checkbox helper="Preview deployments" instantSave id="is_previews" label="Previews?" /> --}}
|
||||
<x-forms.checkbox instantSave id="is_git_submodules_allowed" label="Git Submodules Allowed?" />
|
||||
<x-forms.checkbox instantSave id="is_git_lfs_allowed" label="Git LFS Allowed?" />
|
||||
{{-- <x-forms.checkbox disabled instantSave id="is_dual_cert" label="Dual Certs?" />
|
||||
<x-forms.checkbox disabled instantSave id="is_custom_ssl" label="Is Custom SSL?" />
|
||||
<x-forms.checkbox disabled instantSave id="is_http2" label="Is Http2?" /> --}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -2,20 +2,20 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||
<div class="flex gap-2">
|
||||
<h2>Resource Limits</h2>
|
||||
<x-inputs.button type='submit'>Save</x-inputs.button>
|
||||
<x-forms.button type='submit'>Save</x-forms.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" />
|
||||
<x-forms.input placeholder="1.5" label="Number of CPUs" id="application.limits_cpus" />
|
||||
<x-forms.input placeholder="0-2" label="CPU set to use" id="application.limits_cpuset" />
|
||||
<x-forms.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" />
|
||||
<x-inputs.input placeholder="0-100" type="number" min="0" max="100" label="Swappiness"
|
||||
<x-forms.input placeholder="69b or 420k or 1337m or 1g" label="Limit" id="application.limits_memory" />
|
||||
<x-forms.input placeholder="69b or 420k or 1337m or 1g" label="Swap" id="application.limits_memory_swap" />
|
||||
<x-forms.input placeholder="0-100" type="number" min="0" max="100" label="Swappiness"
|
||||
id="application.limits_memory_swappiness" />
|
||||
<x-inputs.input placeholder="69b or 420k or 1337m or 1g" label="Soft Limit"
|
||||
<x-forms.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" />
|
||||
<x-forms.checkbox label="Disable OOM kill" id="application.limits_memory_oom_kill" />
|
||||
</form>
|
||||
</div>
|
||||
|
@ -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</x-inputs.button>
|
||||
<x-forms.button isHighlighted wire:click='loadImages'>Refresh</x-forms.button>
|
||||
</div>
|
||||
<div wire:loading wire:target='loadImages'>
|
||||
<x-loading />
|
||||
@ -23,13 +23,13 @@
|
||||
</div>
|
||||
<div class="flex justify-end p-2">
|
||||
@if (data_get($image, 'is_current'))
|
||||
<x-inputs.button disabled tooltip="This image is currently running.">
|
||||
<x-forms.button disabled tooltip="This image is currently running.">
|
||||
Rollback
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@else
|
||||
<x-inputs.button wire:click="rollbackImage('{{ data_get($image, 'tag') }}')">
|
||||
<x-forms.button wire:click="rollbackImage('{{ data_get($image, 'tag') }}')">
|
||||
Rollback
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<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>
|
||||
<x-forms.button type="submit">Save</x-forms.button>
|
||||
<a target="_blank" href="{{ $application->gitCommits }}">
|
||||
Commits
|
||||
<x-external-link />
|
||||
@ -13,9 +13,9 @@
|
||||
<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" />
|
||||
<x-forms.input placeholder="coollabsio/coolify-example" id="application.git_repository" label="Repository" />
|
||||
<x-forms.input placeholder="main" id="application.git_branch" label=" Branch" />
|
||||
<x-forms.input placeholder="HEAD" id="application.git_commit_sha" placeholder="HEAD" label="Commit SHA" />
|
||||
|
||||
</form>
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col px-2 pt-10 max-w-fit">
|
||||
<div class="flex gap-2">
|
||||
<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 />
|
||||
<x-forms.input placeholder="pv-name" noDirty id="name" label="Name" required />
|
||||
<x-forms.input placeholder="/root" noDirty id="host_path" label="Source Path" />
|
||||
<x-forms.input placeholder="/tmp/root" noDirty id="mount_path" label="Destination Path" required />
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Add
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -1,17 +1,17 @@
|
||||
<div x-data="{ deleteStorage: false }">
|
||||
<form wire:submit.prevent='submit' class="flex flex-col px-2 max-w-fit">
|
||||
<div class="flex gap-2">
|
||||
<x-inputs.input id="storage.name" label="Name" required />
|
||||
<x-inputs.input id="storage.host_path" label="Source Path" />
|
||||
<x-inputs.input id="storage.mount_path" label="Destination Path" required />
|
||||
<x-forms.input id="storage.name" label="Name" required />
|
||||
<x-forms.input id="storage.host_path" label="Source Path" />
|
||||
<x-forms.input id="storage.mount_path" label="Destination Path" required />
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Update
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deleteStorage = true">
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deleteStorage = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
</form>
|
||||
<x-naked-modal show="deleteStorage" message="Are you sure you want to delete {{ $storage->name }}?" />
|
||||
|
@ -1,12 +1,12 @@
|
||||
<div x-data="{ deleteEnvironment: false }">
|
||||
<x-naked-modal show="deleteEnvironment" message='Are you sure you would like to delete this environment?' />
|
||||
@if ($resource_count > 0)
|
||||
<x-inputs.button tooltip="First delete all resources." disabled>
|
||||
<x-forms.button tooltip="First delete all resources." disabled>
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@else
|
||||
<x-inputs.button x-on:click.prevent="deleteEnvironment = true">
|
||||
<x-forms.button x-on:click.prevent="deleteEnvironment = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
|
@ -1,12 +1,12 @@
|
||||
<div x-data="{ deleteProject: false }">
|
||||
<x-naked-modal show="deleteProject" message='Are you sure you would like to delete this project?' />
|
||||
@if ($resource_count > 0)
|
||||
<x-inputs.button disabled="First delete all resources.">
|
||||
<x-forms.button disabled="First delete all resources.">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@else
|
||||
<x-inputs.button x-on:click.prevent="deleteProject = true">
|
||||
<x-forms.button x-on:click.prevent="deleteProject = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
|
@ -1 +1 @@
|
||||
<x-inputs.button wire:click='createEmptyProject'>Empty Project</x-inputs.button>
|
||||
<x-forms.button wire:click='createEmptyProject'>Empty Project</x-forms.button>
|
||||
|
@ -3,11 +3,11 @@
|
||||
<h1>Select a private key</h1>
|
||||
@foreach ($private_keys as $key)
|
||||
@if ($private_key_id == $key->id)
|
||||
<x-inputs.button class="bg-blue-500" wire:click.defer="setPrivateKey('{{ $key->id }}')">
|
||||
{{ $key->name }}</x-inputs.button>
|
||||
<x-forms.button class="bg-blue-500" wire:click.defer="setPrivateKey('{{ $key->id }}')">
|
||||
{{ $key->name }}</x-forms.button>
|
||||
@else
|
||||
<x-inputs.button wire:click.defer="setPrivateKey('{{ $key->id }}')">{{ $key->name }}
|
||||
</x-inputs.button>
|
||||
<x-forms.button wire:click.defer="setPrivateKey('{{ $key->id }}')">{{ $key->name }}
|
||||
</x-forms.button>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@ -15,17 +15,17 @@
|
||||
<h1>Choose a repository</h1>
|
||||
<form wire:submit.prevent='submit'>
|
||||
<div class="flex items-end gap-2 pb-2">
|
||||
<x-inputs.input class="w-96" id="repository_url" label="Repository URL" />
|
||||
<x-forms.input class="w-96" id="repository_url" label="Repository URL" />
|
||||
@if ($is_static)
|
||||
<x-inputs.input id="publish_directory" label="Publish Directory" />
|
||||
<x-forms.input id="publish_directory" label="Publish Directory" />
|
||||
@else
|
||||
<x-inputs.input type="number" id="port" label="Port" :readonly="$is_static" />
|
||||
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static" />
|
||||
@endif
|
||||
<x-inputs.input instantSave type="checkbox" id="is_static" label="Static Site?" />
|
||||
<x-forms.input instantSave type="checkbox" id="is_static" label="Static Site?" />
|
||||
</div>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Submit
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</form>
|
||||
@endisset
|
||||
</div>
|
||||
|
@ -2,9 +2,9 @@
|
||||
@if ($github_apps->count() > 0)
|
||||
<h1>Choose a GitHub App</h1>
|
||||
@foreach ($github_apps as $ghapp)
|
||||
<x-inputs.button wire:key="{{ $ghapp->id }}" wire:click="loadRepositories({{ $ghapp->id }})">
|
||||
<x-forms.button wire:key="{{ $ghapp->id }}" wire:click="loadRepositories({{ $ghapp->id }})">
|
||||
{{ $ghapp->name }}
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@endforeach
|
||||
<div>
|
||||
@if ($repositories->count() > 0)
|
||||
@ -18,7 +18,7 @@
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
<x-inputs.button wire:click="loadBranches">Select Repository</x-inputs.button>
|
||||
<x-forms.button wire:click="loadBranches">Select Repository</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
<div>
|
||||
@ -35,7 +35,7 @@
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
<x-inputs.button wire:click="submit">Save</x-inputs.button>
|
||||
<x-forms.button wire:click="submit">Save</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
@else
|
||||
|
@ -1,20 +1,20 @@
|
||||
<div>
|
||||
<h1>Enter a public repository URL</h1>
|
||||
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
|
||||
<x-inputs.checkbox instantSave id="is_static" label="Is it a static site?" />
|
||||
<x-forms.checkbox instantSave id="is_static" label="Is it a static site?" />
|
||||
<div class="flex gap-2">
|
||||
<x-inputs.input id="repository_url" label="Repository URL"
|
||||
<x-forms.input id="repository_url" label="Repository URL"
|
||||
helper="<span class='inline-block font-bold text-warning'>Example</span>https://github.com/coollabsio/coolify-examples => main branch will be selected<br>https://github.com/coollabsio/coolify-examples/tree/nodejs-fastify => nodejs-fastify branch will be selected" />
|
||||
@if ($is_static)
|
||||
<x-inputs.input id="publish_directory" label="Publish Directory"
|
||||
<x-forms.input id="publish_directory" label="Publish Directory"
|
||||
helper="If there is a build process involved (like Svelte, React, Next, etc..), please specify the output directory for the build assets." />
|
||||
@else
|
||||
<x-inputs.input type="number" id="port" label="Port" :readonly="$is_static"
|
||||
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static"
|
||||
helper="The port your application listens on." />
|
||||
@endif
|
||||
</div>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Submit
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<div>
|
||||
<h1>Command Center</h1>
|
||||
<form class="flex items-end justify-center gap-2" wire:submit.prevent='runCommand'>
|
||||
<x-inputs.input placeholder="ls -l" autofocus noDirty noLabel id="command" label="Command" required />
|
||||
<x-inputs.select label="Server" id="server" required>
|
||||
<x-forms.input placeholder="ls -l" autofocus noDirty id="command" label="Command" required />
|
||||
<x-forms.select label="Server" id="server" required>
|
||||
@foreach ($servers as $server)
|
||||
@if ($loop->first)
|
||||
<option selected value="{{ $server->uuid }}">{{ $server->name }}</option>
|
||||
@ -10,8 +10,8 @@
|
||||
<option value="{{ $server->uuid }}">{{ $server->name }}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</x-inputs.select>
|
||||
<x-inputs.button class="btn-xl" type="submit">Run</x-inputs.button>
|
||||
</x-forms.select>
|
||||
<x-forms.button class="btn-xl" type="submit">Run</x-forms.button>
|
||||
</form>
|
||||
<div class="container w-full pt-10 mx-auto">
|
||||
<livewire:activity-monitor />
|
||||
|
@ -3,44 +3,44 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||
<div class="flex gap-2">
|
||||
<h2>General</h2>
|
||||
<x-inputs.button type="submit">Save</x-inputs.button>
|
||||
<x-forms.button type="submit">Save</x-forms.button>
|
||||
@if ($server_id !== 0)
|
||||
<x-inputs.button x-on:click.prevent="deleteServer = true">
|
||||
<x-forms.button x-on:click.prevent="deleteServer = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex flex-col gap-2 xl:flex-row">
|
||||
<div class="flex flex-col w-96">
|
||||
<x-inputs.input id="server.name" label="Name" required />
|
||||
<x-inputs.input id="server.description" label="Description" />
|
||||
{{-- <x-inputs.checkbox disabled type="checkbox" id="server.settings.is_part_of_swarm"
|
||||
<x-forms.input id="server.name" label="Name" required />
|
||||
<x-forms.input id="server.description" label="Description" />
|
||||
{{-- <x-forms.checkbox disabled type="checkbox" id="server.settings.is_part_of_swarm"
|
||||
label="Is it part of a Swarm cluster?" /> --}}
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
@if ($server->id === 0)
|
||||
<x-inputs.input id="server.ip" label="IP Address" readonly />
|
||||
<x-inputs.input id="server.user" label="User" readonly />
|
||||
<x-inputs.input type="number" id="server.port" label="Port" readonly />
|
||||
<x-forms.input id="server.ip" label="IP Address" readonly />
|
||||
<x-forms.input id="server.user" label="User" readonly />
|
||||
<x-forms.input type="number" id="server.port" label="Port" readonly />
|
||||
@else
|
||||
<x-inputs.input id="server.ip" label="IP Address" required readonly />
|
||||
<x-forms.input id="server.ip" label="IP Address" required readonly />
|
||||
<div class="flex gap-2">
|
||||
<x-inputs.input id="server.user" label="User" required />
|
||||
<x-inputs.input type="number" id="server.port" label="Port" required />
|
||||
<x-forms.input id="server.user" label="User" required />
|
||||
<x-forms.input type="number" id="server.port" label="Port" required />
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<h3>Quick Actions</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<x-inputs.button wire:click.prevent='validateServer'>
|
||||
<x-forms.button wire:click.prevent='validateServer'>
|
||||
@if ($server->settings->is_validated)
|
||||
Check Connection
|
||||
@else
|
||||
Validate Server
|
||||
@endif
|
||||
</x-inputs.button>
|
||||
{{-- <x-inputs.button wire:click.prevent='installDocker'>Install Docker</x-inputs.button> --}}
|
||||
</x-forms.button>
|
||||
{{-- <x-forms.button wire:click.prevent='installDocker'>Install Docker</x-forms.button> --}}
|
||||
</div>
|
||||
<div class="pt-3 text-sm">
|
||||
@isset($uptime)
|
||||
@ -57,7 +57,7 @@
|
||||
<div class="flex items-center gap-2 py-4">
|
||||
<h3>Private Key</h3>
|
||||
<a href="{{ route('server.private-key', ['server_uuid' => $server->uuid]) }}">
|
||||
<x-inputs.button>Change</x-inputs.button>
|
||||
<x-forms.button>Change</x-forms.button>
|
||||
</a>
|
||||
</div>
|
||||
<a href="{{ route('private-key.show', ['private_key_uuid' => data_get($server, 'privateKey.uuid')]) }}">
|
||||
@ -66,7 +66,7 @@
|
||||
<div class="flex items-center gap-2 py-4">
|
||||
<h3>Destinations</h3>
|
||||
<a href="{{ route('destination.new', ['server_id' => $server->id]) }}">
|
||||
<x-inputs.button>Add</x-inputs.button>
|
||||
<x-forms.button>Add</x-forms.button>
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
|
@ -2,18 +2,18 @@
|
||||
<form class="flex flex-col gap-1" wire:submit.prevent='submit'>
|
||||
<div class="flex items-center gap-2">
|
||||
<h1>New Server</h1>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<x-inputs.input id="name" label="Name" required />
|
||||
<x-inputs.input id="description" label="Description" />
|
||||
<x-inputs.input id="ip" label="IP Address" required
|
||||
<x-forms.input id="name" label="Name" required />
|
||||
<x-forms.input id="description" label="Description" />
|
||||
<x-forms.input id="ip" label="IP Address" required
|
||||
helper="Could be IP Address (127.0.0.1) or Domain Name (duckduckgo.com)." />
|
||||
<x-inputs.input id="user" label="User" required />
|
||||
<x-inputs.input type="number" id="port" label="Port" required />
|
||||
<x-forms.input id="user" label="User" required />
|
||||
<x-forms.input type="number" id="port" label="Port" required />
|
||||
<label>Private Key</label>
|
||||
<x-inputs.select wire:model.defer="private_key_id">
|
||||
<x-forms.select wire:model.defer="private_key_id">
|
||||
<option disabled>Select a private key</option>
|
||||
@foreach ($private_keys as $key)
|
||||
@if ($loop->first)
|
||||
@ -22,8 +22,8 @@
|
||||
<option value="{{ $key->id }}">{{ $key->name }}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</x-inputs.select>
|
||||
<x-inputs.checkbox instantSave noDirty id="is_part_of_swarm" label="Is it part of a Swarm cluster?" />
|
||||
</x-forms.select>
|
||||
<x-forms.checkbox instantSave noDirty id="is_part_of_swarm" label="Is it part of a Swarm cluster?" />
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@ -5,11 +5,11 @@
|
||||
<div class="flex items-center gap-2 mb-2">
|
||||
<h2 class="pb-0">Proxy</h2>
|
||||
@if ($server->extra_attributes->proxy_type)
|
||||
<x-inputs.button isHighlighted wire:click.prevent="installProxy">
|
||||
<x-forms.button isHighlighted wire:click.prevent="installProxy">
|
||||
Start/Reconfigure Proxy
|
||||
</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="stopProxy = true">Stop
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="stopProxy = true">Stop
|
||||
</x-forms.button>
|
||||
<div wire:poll.5000ms="proxyStatus">
|
||||
@if (
|
||||
$server->extra_attributes->last_applied_proxy_settings &&
|
||||
@ -46,13 +46,13 @@
|
||||
<form wire:submit.prevent='saveConfiguration'>
|
||||
<div class="flex items-center gap-2">
|
||||
<h3>Configuration</h3>
|
||||
<x-inputs.button type="submit">Save</x-inputs.button>
|
||||
<x-inputs.button wire:click.prevent="resetProxy">
|
||||
<x-forms.button type="submit">Save</x-forms.button>
|
||||
<x-forms.button wire:click.prevent="resetProxy">
|
||||
Reset Configuration
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<h4>traefik.conf</h4>
|
||||
<x-inputs.textarea class="text-xs" noDirty name="proxy_settings"
|
||||
<x-forms.textarea class="text-xs" noDirty name="proxy_settings"
|
||||
wire:model.defer="proxy_settings" rows="30" />
|
||||
</form>
|
||||
@endif
|
||||
@ -64,7 +64,7 @@
|
||||
{{ \App\Enums\ProxyTypes::TRAEFIK_V2 }}
|
||||
</option>
|
||||
</select>
|
||||
<x-inputs.button wire:click="setProxy">Set Proxy</x-inputs.button>
|
||||
<x-forms.button wire:click="setProxy">Set Proxy</x-forms.button>
|
||||
@endif
|
||||
@else
|
||||
<p>Server is not validated. Validate first.</p>
|
||||
|
@ -2,28 +2,28 @@
|
||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||
<div class="flex items-center gap-2 border-b-2 border-solid border-coolgray-200">
|
||||
<h1>Settings</h1>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Save
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<div class="flex flex-col gap-2 xl:flex-row">
|
||||
<x-inputs.input id="settings.fqdn" label="Coolify's Domain" />
|
||||
<x-inputs.input id="settings.wildcard_domain" label="Wildcard Domain"
|
||||
<x-forms.input id="settings.fqdn" label="Coolify's Domain" />
|
||||
<x-forms.input id="settings.wildcard_domain" label="Wildcard Domain"
|
||||
helper="Wildcard domain for your applications. If you set this, you will get a random generated domain for your new applications.<br><br><span class='inline-block font-bold text-warning'>Example</span>https://example.com<br>Your applications will get https://randomthing.example.com" />
|
||||
</div>
|
||||
<div class="flex flex-col gap-2 xl:flex-row">
|
||||
<x-inputs.input type="number" id="settings.public_port_min" label="Public Port Min" />
|
||||
<x-inputs.input type="number" id="settings.public_port_max" label="Public Port Max" />
|
||||
<x-forms.input type="number" id="settings.public_port_min" label="Public Port Min" />
|
||||
<x-forms.input type="number" id="settings.public_port_max" label="Public Port Max" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h3>Advanced</h3>
|
||||
<div class="flex flex-col pt-4 text-right w-52">
|
||||
<x-inputs.checkbox instantSave id="is_auto_update_enabled" label="Auto Update Coolify" />
|
||||
<x-inputs.checkbox instantSave id="is_registration_enabled" label="Registration Allowed" />
|
||||
{{-- <x-inputs.checkbox instantSave id="is_https_forced" label="Force https?" /> --}}
|
||||
<x-inputs.checkbox instantSave id="do_not_track" label="Do Not Track" />
|
||||
<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="is_https_forced" label="Force https?" /> --}}
|
||||
<x-forms.checkbox instantSave id="do_not_track" label="Do Not Track" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,16 +1,16 @@
|
||||
<div>
|
||||
<form wire:submit.prevent='createGitHubApp'>
|
||||
<x-inputs.button type="submit">
|
||||
<x-forms.button type="submit">
|
||||
Submit
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
<h3 class="pt-4">General</h3>
|
||||
<x-inputs.input id="name" label="Name" required />
|
||||
<x-inputs.input helper="If empty, your user will be used." id="organization" label="Organization" />
|
||||
<x-forms.input id="name" label="Name" required />
|
||||
<x-forms.input helper="If empty, your user will be used." id="organization" label="Organization" />
|
||||
<h3 class="pt-4">Advanced</h3>
|
||||
<x-inputs.input id="html_url" label="HTML Url" required />
|
||||
<x-inputs.input id="api_url" label="API Url" required />
|
||||
<x-inputs.input id="custom_user" label="Custom Git User" required />
|
||||
<x-inputs.input id="custom_port" label="Custom Git Port" required />
|
||||
<x-inputs.checkbox class="pt-2" id="is_system_wide" label="System Wide" />
|
||||
<x-forms.input id="html_url" label="HTML Url" required />
|
||||
<x-forms.input id="api_url" label="API Url" required />
|
||||
<x-forms.input id="custom_user" label="Custom Git User" required />
|
||||
<x-forms.input id="custom_port" label="Custom Git Port" required />
|
||||
<x-forms.checkbox class="pt-2" id="is_system_wide" label="System Wide" />
|
||||
</form>
|
||||
</div>
|
||||
|
@ -5,12 +5,12 @@
|
||||
<h1>GitHub App</h1>
|
||||
<div class="flex gap-2 ">
|
||||
@if ($github_app->app_id)
|
||||
<x-inputs.button type="submit">Save</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deleteSource = true">
|
||||
<x-forms.button type="submit">Save</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deleteSource = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
<a href="{{ $installation_url }}">
|
||||
<x-inputs.button>
|
||||
<x-forms.button>
|
||||
@if ($github_app->installation_id)
|
||||
Update Repositories
|
||||
<x-external-link />
|
||||
@ -18,43 +18,43 @@
|
||||
Install Repositories
|
||||
<x-external-link />
|
||||
@endif
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
</a>
|
||||
@else
|
||||
<x-inputs.button disabled type="submit">Save</x-inputs.button>
|
||||
<x-inputs.button x-on:click.prevent="deleteSource = true">
|
||||
<x-forms.button disabled type="submit">Save</x-forms.button>
|
||||
<x-forms.button x-on:click.prevent="deleteSource = true">
|
||||
Delete
|
||||
</x-inputs.button>
|
||||
</x-forms.button>
|
||||
<form x-data>
|
||||
<x-inputs.button isHighlighted x-on:click.prevent="createGithubApp">Create GitHub Application
|
||||
</x-inputs.button>
|
||||
<x-forms.button isHighlighted x-on:click.prevent="createGithubApp">Create GitHub Application
|
||||
</x-forms.button>
|
||||
</form>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<x-inputs.input id="github_app.name" label="App Name" required />
|
||||
<x-forms.input id="github_app.name" label="App Name" required />
|
||||
|
||||
@if ($github_app->app_id)
|
||||
<x-inputs.input id="github_app.organization" label="Organization" disabled
|
||||
<x-forms.input id="github_app.organization" label="Organization" disabled
|
||||
placeholder="Personal user if empty" />
|
||||
@else
|
||||
<x-inputs.input id="github_app.organization" label="Organization" placeholder="Personal user if empty" />
|
||||
<x-forms.input id="github_app.organization" label="Organization" placeholder="Personal user if empty" />
|
||||
@endif
|
||||
<x-inputs.input id="github_app.api_url" label="API Url" disabled />
|
||||
<x-inputs.input id="github_app.html_url" label="HTML Url" disabled />
|
||||
<x-inputs.input id="github_app.custom_user" label="User" required />
|
||||
<x-inputs.input type="number" id="github_app.custom_port" label="Port" required />
|
||||
<x-forms.input id="github_app.api_url" label="API Url" disabled />
|
||||
<x-forms.input id="github_app.html_url" label="HTML Url" disabled />
|
||||
<x-forms.input id="github_app.custom_user" label="User" required />
|
||||
<x-forms.input type="number" id="github_app.custom_port" label="Port" required />
|
||||
|
||||
@if ($github_app->app_id)
|
||||
<x-inputs.input type="number" id="github_app.app_id" label="App Id" disabled />
|
||||
<x-inputs.input type="number" id="github_app.installation_id" label="Installation Id" disabled />
|
||||
<x-inputs.input id="github_app.client_id" label="Client Id" type="password" disabled />
|
||||
<x-inputs.input id="github_app.client_secret" label="Client Secret" type="password" disabled />
|
||||
<x-inputs.input id="github_app.webhook_secret" label="Webhook Secret" type="password" disabled />
|
||||
<x-inputs.checkbox noDirty label="System Wide?" instantSave id="is_system_wide" />
|
||||
<x-forms.input type="number" id="github_app.app_id" label="App Id" disabled />
|
||||
<x-forms.input type="number" id="github_app.installation_id" label="Installation Id" disabled />
|
||||
<x-forms.input id="github_app.client_id" label="Client Id" type="password" disabled />
|
||||
<x-forms.input id="github_app.client_secret" label="Client Secret" type="password" disabled />
|
||||
<x-forms.input id="github_app.webhook_secret" label="Webhook Secret" type="password" disabled />
|
||||
<x-forms.checkbox noDirty label="System Wide?" instantSave id="is_system_wide" />
|
||||
@else
|
||||
<x-inputs.checkbox noDirty label="System Wide?" instantSave id="is_system_wide" />
|
||||
<x-forms.checkbox noDirty label="System Wide?" instantSave id="is_system_wide" />
|
||||
<div class="py-2">
|
||||
|
||||
</div>
|
||||
|
@ -3,9 +3,9 @@
|
||||
@if (auth()->user()->otherTeams()->count() > 0)
|
||||
<div class="flex gap-2">
|
||||
@foreach (auth()->user()->otherTeams() as $team)
|
||||
<x-inputs.button isHighlighted wire:key="{{ $team->id }}"
|
||||
<x-forms.button isHighlighted wire:key="{{ $team->id }}"
|
||||
wire:click="switch_to('{{ $team->id }}')">
|
||||
{{ $team->name }}</x-inputs.button>
|
||||
{{ $team->name }}</x-forms.button>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
Loading…
Reference in New Issue
Block a user