2024-01-07 15:23:41 +00:00
< div >
2024-06-07 09:01:10 +00:00
< x - slot : title >
Settings | Coolify
2024-10-21 11:43:34 +00:00
</ x - slot >
< x - settings . navbar />
< form wire : submit = 'submit' class = " flex flex-col " >
< div class = " flex items-center gap-2 " >
< h2 > Configuration </ h2 >
< x - forms . button type = " submit " >
Save
</ x - forms . button >
</ div >
< div > General configuration for your Coolify instance .</ div >
2024-08-06 12:36:56 +00:00
2024-10-21 11:43:34 +00:00
< div class = " flex flex-col gap-2 " >
< h4 class = " pt-6 " > Instance Settings </ h4 >
< div class = " flex flex-wrap items-end gap-2 " >
< div class = " flex gap-2 md:flex-row flex-col w-full " >
2024-10-28 09:10:27 +00:00
< x - forms . input id = " fqdn " label = " Instance's Domain "
2024-10-21 11:43:34 +00:00
helper = " Enter the full domain name (FQDN) of the instance, including 'https://' if you want to secure the dashboard with HTTPS. Setting this will make the dashboard accessible via this domain, secured by HTTPS, instead of just the IP address. "
placeholder = " https://coolify.yourdomain.com " />
2024-10-28 09:10:27 +00:00
< x - forms . input id = " instance_name " label = " Instance's Name " placeholder = " Coolify " />
2024-10-21 11:43:34 +00:00
< div class = " w-full " x - data = " {
2024-08-26 13:26:08 +00:00
open : false ,
search : '{{ $settings->instance_timezone ?: ' ' }}' ,
timezones : @ js ( $timezones ),
placeholder : '{{ $settings->instance_timezone ? ' Search timezone ... ' : ' Select Server Timezone ' }}' ,
init () {
this . $watch ( 'search' , value => {
if ( value === '' ) {
this . open = true ;
}
})
}
} " >
2024-10-21 11:43:34 +00:00
< div class = " flex items-center mb-1 " >
2024-10-28 09:10:27 +00:00
< label for = " instance_timezone " > Instance
2024-10-21 11:43:34 +00:00
Timezone </ label >
< x - helper class = " ml-2 "
helper = " Timezone for the Coolify instance. This is used for the update check and automatic update frequency. " />
</ div >
< div class = " relative " >
< div class = " inline-flex items-center relative w-full " >
< input autocomplete = " off "
wire : dirty . class . remove = 'dark:focus:ring-coolgray-300 dark:ring-coolgray-300'
wire : dirty . class = " dark:focus:ring-warning dark:ring-warning " x - model = " search "
@ focus = " open = true " @ click . away = " open = false " @ input = " open = true "
class = " w-full input " : placeholder = " placeholder "
2024-10-28 09:10:27 +00:00
wire : model . debounce . 300 ms = " instance_timezone " >
2024-10-21 11:43:34 +00:00
< svg class = " absolute right-0 w-4 h-4 mr-2 " xmlns = " http://www.w3.org/2000/svg "
fill = " none " viewBox = " 0 0 24 24 " stroke - width = " 1.5 " stroke = " currentColor "
@ click = " open = true " >
< path stroke - linecap = " round " stroke - linejoin = " round "
d = " M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9 " />
</ svg >
2024-08-26 13:26:08 +00:00
</ div >
2024-10-21 11:43:34 +00:00
< div x - show = " open "
class = " absolute z-50 w-full mt-1 bg-white dark:bg-coolgray-100 border dark:border-coolgray-200 rounded-md shadow-lg max-h-60 overflow-auto scrollbar overflow-x-hidden " >
< template
x - for = " timezone in timezones.filter(tz => tz.toLowerCase().includes(search.toLowerCase())) "
: key = " timezone " >
2024-10-28 09:10:27 +00:00
< div @ click = " search = timezone; open = false; $wire .set('instance_timezone', timezone) "
2024-10-21 11:43:34 +00:00
class = " px-4 py-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-coolgray-300 text-gray-800 dark:text-gray-200 "
x - text = " timezone " ></ div >
</ template >
2024-08-26 13:26:08 +00:00
</ div >
2024-08-16 13:58:33 +00:00
</ div >
</ div >
2024-08-26 13:26:08 +00:00
2024-10-21 12:26:34 +00:00
</ div >
2024-11-12 12:49:37 +00:00
< div class = " flex gap-2 md:flex-row flex-col w-full " >
2024-10-28 09:10:27 +00:00
< x - forms . input id = " public_ipv4 " type = " password " label = " Instance's IPv4 "
2024-10-21 12:26:34 +00:00
helper = " Enter the IPv4 address of the instance.<br><br>It is useful if you have several IPv4 addresses and Coolify could not detect the correct one. "
2024-11-12 19:24:28 +00:00
placeholder = " 1.2.3.4 " autocomplete = " new-password " />
2024-10-28 09:10:27 +00:00
< x - forms . input id = " public_ipv6 " type = " password " label = " Instance's IPv6 "
2024-10-21 12:26:34 +00:00
helper = " Enter the IPv6 address of the instance.<br><br>It is useful if you have several IPv6 addresses and Coolify could not detect the correct one. "
2024-11-12 19:24:28 +00:00
placeholder = " 2001:db8::1 " autocomplete = " new-password " />
2024-10-21 12:26:34 +00:00
</ div >
2024-10-21 11:43:34 +00:00
< h4 class = " w-full pt-6 " > DNS Validation </ h4 >
< div class = " md:w-96 " >
< x - forms . checkbox instantSave id = " is_dns_validation_enabled " label = " Enabled " />
2024-08-06 12:36:56 +00:00
</ div >
2024-10-28 09:10:27 +00:00
< x - forms . input id = " custom_dns_servers " label = " DNS Servers "
2024-10-21 11:43:34 +00:00
helper = " DNS servers to validate FQDNs against. A comma separated list of DNS servers. "
placeholder = " 1.1.1.1,8.8.8.8 " />
</ div >
2024-08-06 12:36:56 +00:00
2024-10-21 11:43:34 +00:00
{{ -- < div class = " flex gap-2 " >
2024-10-28 09:10:27 +00:00
< x - forms . input type = " number " id = " public_port_min " label = " Public Port Min " />
< x - forms . input type = " number " id = " public_port_max " label = " Public Port Max " />
2024-08-06 12:36:56 +00:00
</ div > -- }}
2024-10-21 11:43:34 +00:00
</ div >
< h4 class = " pt-6 " > API </ h4 >
2024-11-12 12:49:37 +00:00
< div class = " pb-4 " > For API documentation , please visit < a class = " dark:text-warning underline "
href = " /docs/api " >/ docs / api </ a ></ div >
2024-10-21 11:43:34 +00:00
< div class = " md:w-96 pb-2 " >
< x - forms . checkbox instantSave id = " is_api_enabled " label = " Enabled " />
</ div >
2024-10-28 09:10:27 +00:00
< x - forms . input id = " allowed_ips " label = " Allowed IPs "
2024-10-21 11:43:34 +00:00
helper = " Allowed IP lists for the API. A comma separated list of IPs. Empty means you allow from everywhere. "
placeholder = " 1.1.1.1,8.8.8.8 " />
2024-10-17 16:44:05 +00:00
< h4 class = " pt-6 " > Update </ h4 >
2024-08-07 09:55:16 +00:00
< div class = " text-right md:w-96 " >
@ if ( ! is_null ( env ( 'AUTOUPDATE' , null )))
< div class = " text-right md:w-96 " >
2024-10-21 11:43:34 +00:00
< x - forms . checkbox instantSave helper = " AUTOUPDATE is set in .env file, you need to modify it there. "
disabled id = " is_auto_update_enabled " label = " Enabled " />
2024-08-07 09:55:16 +00:00
</ div >
2024-10-21 11:43:34 +00:00
@ else
2024-08-07 09:55:16 +00:00
< x - forms . checkbox instantSave id = " is_auto_update_enabled " label = " Auto Update Enabled " />
2024-10-21 11:43:34 +00:00
@ endif
</ div >
< div class = " flex flex-col gap-2 " >
< div class = " flex items-end gap-2 " >
< x - forms . input required id = " update_check_frequency " label = " Update Check Frequency "
placeholder = " 0 * * * * "
helper = " Cron expression for update check frequency (check for new Coolify versions and pull new Service Templates from CDN).<br>You can use every_minute, hourly, daily, weekly, monthly, yearly.<br><br>Default is every hour. " />
< x - forms . button wire : click = 'checkManually' > Check Manually </ x - forms . button >
2024-08-07 09:42:55 +00:00
</ div >
2024-08-07 09:55:16 +00:00
2024-10-21 11:43:34 +00:00
@ if ( is_null ( env ( 'AUTOUPDATE' , null )) && $is_auto_update_enabled )
< x - forms . input required id = " auto_update_frequency " label = " Auto Update Frequency " placeholder = " 0 0 * * * "
helper = " Cron expression for auto update frequency (automatically update coolify).<br>You can use every_minute, hourly, daily, weekly, monthly, yearly.<br><br>Default is every day at 00:00 " />
@ endif
</ div >
2024-10-17 10:07:35 +00:00
2024-10-21 11:43:34 +00:00
< h4 class = " pt-6 " > Advanced </ h4 >
< div class = " text-right md:w-96 " >
< x - forms . checkbox instantSave id = " is_registration_enabled " label = " Registration Allowed " />
< x - forms . checkbox instantSave id = " do_not_track " label = " Do Not Track " />
</ div >
2024-10-17 10:07:35 +00:00
2024-11-08 10:53:44 +00:00
< h4 class = " py-4 " > Confirmation Settings </ h4 >
2024-11-08 14:09:54 +00:00
< div x - data = " { open: false } " class = " mb-32 md:w-[40rem] " >
2024-11-12 12:49:37 +00:00
< button type = " button " @ click . prevent = " open = !open "
2024-11-13 18:40:36 +00:00
class = " flex items-center justify-between w-full p-4 rounded-md
dark : bg - coolgray - 100 dark : hover : bg - coolgray - 200
bg - gray - 100 hover : bg - gray - 200 " >
2024-11-08 14:09:54 +00:00
< span class = " font-medium " > Two - Step Confirmation Settings </ span >
2024-11-12 12:49:37 +00:00
< svg class = " w-5 h-5 transition-transform " : class = " { 'rotate-180': open } " fill = " none "
stroke = " currentColor " viewBox = " 0 0 24 24 " >
2024-11-08 14:09:54 +00:00
< path stroke - linecap = " round " stroke - linejoin = " round " stroke - width = " 2 " d = " M19 9l-7 7-7-7 " />
</ svg >
</ button >
2024-11-12 12:49:37 +00:00
2024-11-08 14:09:54 +00:00
< div x - show = " open " x - transition class = " mt-4 " >
@ if ( $disable_two_step_confirmation )
< div class = " md:w-96 pb-4 " >
2024-11-12 12:49:37 +00:00
< x - forms . checkbox instantSave id = " disable_two_step_confirmation "
label = " Disable Two Step Confirmation "
2024-11-08 14:09:54 +00:00
helper = " When disabled, you will not need to confirm actions with a text and user password. This significantly reduces security and may lead to accidental deletions or unwanted changes. Use with extreme caution, especially on production servers. " />
</ div >
@ else
< div class = " md:w-96 pb-4 " >
< x - modal - confirmation title = " Disable Two Step Confirmation? "
2024-11-12 12:49:37 +00:00
buttonTitle = " Disable Two Step Confirmation " isErrorButton
submitAction = " toggleTwoStepConfirmation " : actions = " [
2024-11-08 14:09:54 +00:00
'Tow Step confimation will be disabled globally.' ,
'Disabling two step confirmation reduces security (as anyone can easily delete anything).' ,
'The risk of accidental actions will increase.' ,
2024-11-12 12:49:37 +00:00
] "
confirmationText = " DISABLE TWO STEP CONFIRMATION "
2024-11-08 14:09:54 +00:00
confirmationLabel = " Please type the confirmation text to disable two step confirmation. "
2024-11-12 12:49:37 +00:00
shortConfirmationLabel = " Confirmation text "
step3ButtonText = " Disable Two Step Confirmation " />
2024-11-08 14:09:54 +00:00
</ div >
2024-11-08 14:14:13 +00:00
< div class = " w-full px-4 py-2 mb-4 text-white rounded-sm border-l-4 border-red-500 bg-error " >
2024-11-08 14:09:54 +00:00
< p class = " font-bold " > Warning !</ p >
2024-11-12 12:49:37 +00:00
< p > Disabling two step confirmation reduces security ( as anyone can easily delete anything ) and
increases
2024-11-08 14:09:54 +00:00
the risk of accidental actions . This is not recommended for production servers .</ p >
</ div >
@ endif
2024-10-25 08:59:12 +00:00
</ div >
2024-11-08 14:09:54 +00:00
</ div >
2024-10-21 11:43:34 +00:00
</ form >
2024-08-26 13:26:08 +00:00
</ div >