lasthourcloud/resources/views/livewire/project/application/general.blade.php

117 lines
7.6 KiB
PHP
Raw Normal View History

2023-04-19 10:42:15 +00:00
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
2023-06-02 10:34:45 +00:00
<div class="flex items-center gap-2">
<h2>General</h2>
2023-05-25 12:05:44 +00:00
<x-forms.button type="submit">
2023-05-18 11:26:35 +00:00
Save
2023-05-25 12:05:44 +00:00
</x-forms.button>
@if ($isConfigurationChanged && !is_null($application->config_hash))
2023-10-18 09:20:40 +00:00
<div class="font-bold text-warning">Configuration not applied to the running application. You need to
redeploy.</div>
@endif
2023-05-18 11:26:35 +00:00
</div>
2023-10-18 09:20:40 +00:00
<div>General configuration for your application.</div>
2023-05-31 08:19:29 +00:00
<div class="flex flex-col gap-2 py-4">
2023-05-22 09:21:03 +00:00
<div class="flex flex-col items-end gap-2 xl:flex-row">
2023-08-11 18:19:42 +00:00
<x-forms.input id="application.name" label="Name" required />
<x-forms.input id="application.description" label="Description" />
2023-05-18 11:26:35 +00:00
</div>
<div class="flex items-end gap-2">
<x-forms.input placeholder="https://coolify.io" id="application.fqdn" label="Domains"
helper="You can specify one domain with path or more with comma. You can specify a port to bind the domain to.<br><br><span class='text-helper'>Example</span><br>- http://app.coolify.io, https://cloud.coolify.io/dashboard<br>- http://app.coolify.io/api/v3<br>- http://app.coolify.io:3000 -> app.coolify.io will point to port 3000 inside the container. " />
<x-forms.button wire:click="getWildcardDomain">Generate Domain
</x-forms.button>
</div>
2023-09-24 19:38:11 +00:00
@if (!$application->dockerfile)
<div class="flex flex-col gap-2">
<div class="flex gap-2">
2023-10-11 10:12:25 +00:00
<x-forms.select wire:model="application.build_pack" label="Build Pack" required>
<option value="nixpacks">Nixpacks</option>
<option value="static">Static</option>
<option value="dockerfile">Dockerfile</option>
2023-10-09 13:49:48 +00:00
<option value="dockerimage">Docker Image</option>
</x-forms.select>
@if ($application->settings->is_static || $application->build_pack === 'static')
<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-forms.select>
@endif
</div>
@if ($application->could_set_build_commands())
<div class="w-64">
<x-forms.checkbox instantSave id="application.settings.is_static" label="Is it a static site?"
helper="If your application is a static site or the final build assets should be served as a static site, enable this." />
</div>
@endif
2023-09-24 19:38:11 +00:00
</div>
@endif
2023-10-10 09:16:38 +00:00
@if ($application->build_pack !== 'dockerimage')
<h3>Build</h3>
@if ($application->could_set_build_commands())
2023-11-06 11:40:53 +00:00
@if ($application->build_pack === 'nixpacks')
<div>Nixpacks will detect the required configuration automatically.
<a class="underline" href="https://coolify.io/docs/frameworks/">Framework Specific Docs</a>
</div>
2023-11-06 11:40:53 +00:00
<div class="flex flex-col gap-2 xl:flex-row">
2023-11-06 16:25:54 +00:00
<x-forms.input placeholder="If you modify this, you probably need to have a nixpacks.toml"
id="application.install_command" label="Install Command" />
<x-forms.input placeholder="If you modify this, you probably need to have a nixpacks.toml"
id="application.build_command" label="Build Command" />
<x-forms.input placeholder="If you modify this, you probably need to have a nixpacks.toml"
id="application.start_command" label="Start Command" />
2023-11-06 11:40:53 +00:00
</div>
@endif
2023-10-10 09:16:38 +00:00
@endif
2023-11-06 11:40:53 +00:00
2023-10-10 09:16:38 +00:00
<div class="flex flex-col gap-2 xl:flex-row">
<x-forms.input placeholder="/" id="application.base_directory" label="Base Directory"
helper="Directory to use as root. Useful for monorepos." />
@if ($application->build_pack === 'dockerfile' && !$application->dockerfile)
2023-10-10 12:02:43 +00:00
<x-forms.input placeholder="/Dockerfile" id="application.dockerfile_location"
label="Dockerfile Location"
helper="It is calculated together with the Base Directory: {{ Str::start($application->base_directory . $application->dockerfile_location, '/') }}" />
@endif
@if ($application->build_pack === 'dockerfile')
<x-forms.input id="application.dockerfile_target_build" label="Docker Build Stage Target"
helper="Useful if you have multi-staged dockerfile." />
2023-10-10 12:02:43 +00:00
@endif
2023-10-10 09:16:38 +00:00
@if ($application->could_set_build_commands())
@if ($application->settings->is_static)
<x-forms.input placeholder="/dist" id="application.publish_directory"
label="Publish Directory" required />
@else
<x-forms.input placeholder="/" id="application.publish_directory"
label="Publish Directory" />
@endif
@endif
</div>
@else
2023-08-11 20:41:47 +00:00
<div class="flex flex-col gap-2 xl:flex-row">
<x-forms.input id="application.docker_registry_image_name" label="Docker Image" />
<x-forms.input id="application.docker_registry_image_tag" label="Docker Image Tag" />
2023-08-11 20:41:47 +00:00
</div>
@endif
2023-08-11 20:41:47 +00:00
@if ($application->dockerfile)
<x-forms.textarea label="Dockerfile" id="application.dockerfile" rows="6"> </x-forms.textarea>
@endif
2023-09-21 15:48:31 +00:00
<h3>Network</h3>
<div class="flex flex-col gap-2 xl:flex-row">
@if ($application->settings->is_static || $application->build_pack === 'static')
2023-09-21 15:48:31 +00:00
<x-forms.input id="application.ports_exposes" label="Ports Exposes" readonly />
@else
<x-forms.input placeholder="3000,3001" id="application.ports_exposes" label="Ports Exposes" required
2023-09-24 08:32:41 +00:00
helper="A comma separated list of ports your application uses. The first port will be used as default healthcheck port if nothing defined in the Healthcheck menu. Be sure to set this correctly." />
2023-09-21 15:48:31 +00:00
@endif
<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><br><span class='inline-block font-bold text-warning'>Example:</span><br>3000:3000,3002:3002<br><br>Rolling update is not supported if you have a port mapped to the host." />
2023-09-21 15:48:31 +00:00
</div>
2023-11-06 16:25:54 +00:00
<x-forms.textarea label="Container Labels" rows="15" id="customLabels"></x-forms.textarea>
<x-forms.button wire:click="resetDefaultLabels">Reset to Coolify Generated Labels</x-forms.button>
2023-05-18 11:26:35 +00:00
</div>
2023-04-19 10:42:15 +00:00
</form>
</div>