Skip to content

Commit 340c5dc

Browse files
authored
feat(ui): categorize application advanced settings into logical sections (#9234)
2 parents 91d5f46 + 1a59c4c commit 340c5dc

1 file changed

Lines changed: 49 additions & 47 deletions

File tree

resources/views/livewire/project/application/advanced.blade.php

Lines changed: 49 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,35 @@
55
</div>
66
<div>Advanced configuration for your application.</div>
77
<div class="flex flex-col gap-1 pt-4">
8-
<h3>General</h3>
8+
<h3>Build</h3>
9+
<x-forms.checkbox helper="Disable Docker build cache on every deployment." instantSave
10+
id="disableBuildCache" label="Disable Build Cache" canGate="update" :canResource="$application" />
11+
<x-forms.checkbox
12+
helper="When enabled, Coolify automatically adds ARG statements to your Dockerfile for build-time variables. Disable this if you manage ARGs manually in your Dockerfile to preserve Docker build cache."
13+
instantSave id="injectBuildArgsToDockerfile" label="Inject Build Args to Dockerfile" canGate="update"
14+
:canResource="$application" />
15+
<x-forms.checkbox
16+
helper="When enabled, SOURCE_COMMIT (git commit hash) is available during Docker build. Disable to preserve cache across different commits - SOURCE_COMMIT will still be available at runtime."
17+
instantSave id="includeSourceCommitInBuild" label="Include Source Commit in Build" canGate="update"
18+
:canResource="$application" />
19+
20+
<h3 class="pt-4">Container</h3>
21+
<x-forms.checkbox
22+
helper="The deployed container will have the same name ({{ $application->uuid }}). <span class='font-bold dark:text-warning'>You will lose the rolling update feature!</span>"
23+
instantSave id="isConsistentContainerNameEnabled" label="Consistent Container Names" canGate="update"
24+
:canResource="$application" />
25+
@if ($isConsistentContainerNameEnabled === false)
26+
<form class="flex items-end gap-2 " wire:submit.prevent='saveCustomName'>
27+
<x-forms.input
28+
helper="You can add a custom name for your container.<br><br>The name will be converted to slug format when you save it. <span class='font-bold dark:text-warning'>You will lose the rolling update feature!</span>"
29+
instantSave id="customInternalName" label="Custom Container Name" canGate="update"
30+
:canResource="$application" />
31+
<x-forms.button canGate="update" :canResource="$application" type="submit">Save</x-forms.button>
32+
</form>
33+
@endif
34+
935
@if ($application->git_based())
36+
<h3 class="pt-4">Deployment</h3>
1037
<x-forms.checkbox helper="Automatically deploy new commits based on Git webhooks." instantSave
1138
id="isAutoDeployEnabled" label="Auto Deploy" canGate="update" :canResource="$application" />
1239
<x-forms.checkbox
@@ -17,18 +44,28 @@
1744
helper="When enabled, anyone can trigger PR deployments. When disabled, only repository members, collaborators, and contributors can trigger PR deployments."
1845
instantSave id="isPrDeploymentsPublicEnabled" label="Allow Public PR Deployments" canGate="update"
1946
:canResource="$application" :disabled="!$isPreviewDeploymentsEnabled" />
47+
48+
<h3 class="pt-4">Git</h3>
49+
<x-forms.checkbox instantSave id="isGitSubmodulesEnabled" label="Submodules"
50+
helper="Allow Git Submodules during build process." canGate="update" :canResource="$application" />
51+
<x-forms.checkbox instantSave id="isGitLfsEnabled" label="LFS"
52+
helper="Allow Git LFS during build process." canGate="update" :canResource="$application" />
53+
<x-forms.checkbox instantSave id="isGitShallowCloneEnabled" label="Shallow Clone"
54+
helper="Use shallow cloning (--depth=1) to speed up deployments by only fetching the latest commit history. This reduces clone time and resource usage, especially for large repositories."
55+
canGate="update" :canResource="$application" />
2056
@endif
21-
<x-forms.checkbox helper="Disable Docker build cache on every deployment." instantSave
22-
id="disableBuildCache" label="Disable Build Cache" canGate="update" :canResource="$application" />
23-
<x-forms.checkbox
24-
helper="When enabled, Coolify automatically adds ARG statements to your Dockerfile for build-time variables. Disable this if you manage ARGs manually in your Dockerfile to preserve Docker build cache."
25-
instantSave id="injectBuildArgsToDockerfile" label="Inject Build Args to Dockerfile" canGate="update"
26-
:canResource="$application" />
27-
<x-forms.checkbox
28-
helper="When enabled, SOURCE_COMMIT (git commit hash) is available during Docker build. Disable to preserve cache across different commits - SOURCE_COMMIT will still be available at runtime."
29-
instantSave id="includeSourceCommitInBuild" label="Include Source Commit in Build" canGate="update"
30-
:canResource="$application" />
3157

58+
@if ($application->build_pack === 'dockercompose')
59+
<h3 class="pt-4">Docker Compose</h3>
60+
<x-forms.checkbox instantSave id="isRawComposeDeploymentEnabled" label="Raw Compose Deployment"
61+
helper="WARNING: Advanced use cases only. Your docker compose file will be deployed as-is. Nothing is modified by Coolify. You need to configure the proxy parts. More info in the <a class='underline dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/compose#raw-docker-compose-deployment'>documentation.</a>"
62+
canGate="update" :canResource="$application" />
63+
<x-forms.checkbox instantSave id="isConnectToDockerNetworkEnabled" label="Connect To Predefined Network"
64+
helper="By default, you do not reach the Coolify defined networks.<br>Starting a docker compose based resource will have an internal network. <br>If you connect to a Coolify defined network, you maybe need to use different internal DNS names to connect to a resource.<br><br>For more information, check <a class='underline dark:text-white' target='_blank' href='https://coolify.io/docs/knowledge-base/docker/compose#connect-to-predefined-networks'>this</a>."
65+
canGate="update" :canResource="$application" />
66+
@endif
67+
68+
<h3 class="pt-4">Proxy</h3>
3269
@if ($application->settings->is_container_label_readonly_enabled)
3370
<x-forms.checkbox
3471
helper="Your application will be available only on https if your domain starts with https://..."
@@ -49,45 +86,10 @@
4986
helper="Readonly labels are disabled. You need to set the labels in the labels section." disabled
5087
instantSave id="isStripprefixEnabled" label="Strip Prefixes" canGate="update" :canResource="$application" />
5188
@endif
52-
@if ($application->build_pack === 'dockercompose')
53-
<h3>Docker Compose</h3>
54-
<x-forms.checkbox instantSave id="isRawComposeDeploymentEnabled" label="Raw Compose Deployment"
55-
helper="WARNING: Advanced use cases only. Your docker compose file will be deployed as-is. Nothing is modified by Coolify. You need to configure the proxy parts. More info in the <a class='underline dark:text-white' href='https://coolify.io/docs/knowledge-base/docker/compose#raw-docker-compose-deployment'>documentation.</a>"
56-
canGate="update" :canResource="$application" />
57-
@endif
58-
<h3 class="pt-4">Container Names</h3>
59-
<x-forms.checkbox
60-
helper="The deployed container will have the same name ({{ $application->uuid }}). <span class='font-bold dark:text-warning'>You will lose the rolling update feature!</span>"
61-
instantSave id="isConsistentContainerNameEnabled" label="Consistent Container Names" canGate="update"
62-
:canResource="$application" />
63-
@if ($isConsistentContainerNameEnabled === false)
64-
<form class="flex items-end gap-2 " wire:submit.prevent='saveCustomName'>
65-
<x-forms.input
66-
helper="You can add a custom name for your container.<br><br>The name will be converted to slug format when you save it. <span class='font-bold dark:text-warning'>You will lose the rolling update feature!</span>"
67-
instantSave id="customInternalName" label="Custom Container Name" canGate="update"
68-
:canResource="$application" />
69-
<x-forms.button canGate="update" :canResource="$application" type="submit">Save</x-forms.button>
70-
</form>
71-
@endif
72-
@if ($application->build_pack === 'dockercompose')
73-
<h3 class="pt-4">Network</h3>
74-
<x-forms.checkbox instantSave id="isConnectToDockerNetworkEnabled" label="Connect To Predefined Network"
75-
helper="By default, you do not reach the Coolify defined networks.<br>Starting a docker compose based resource will have an internal network. <br>If you connect to a Coolify defined network, you maybe need to use different internal DNS names to connect to a resource.<br><br>For more information, check <a class='underline dark:text-white' target='_blank' href='https://coolify.io/docs/knowledge-base/docker/compose#connect-to-predefined-networks'>this</a>."
76-
canGate="update" :canResource="$application" />
77-
@endif
89+
7890
<h3 class="pt-4">Logs</h3>
7991
<x-forms.checkbox helper="Drain logs to your configured log drain endpoint in your Server settings."
8092
instantSave id="isLogDrainEnabled" label="Drain Logs" canGate="update" :canResource="$application" />
81-
@if ($application->git_based())
82-
<h3>Git</h3>
83-
<x-forms.checkbox instantSave id="isGitSubmodulesEnabled" label="Submodules"
84-
helper="Allow Git Submodules during build process." canGate="update" :canResource="$application" />
85-
<x-forms.checkbox instantSave id="isGitLfsEnabled" label="LFS"
86-
helper="Allow Git LFS during build process." canGate="update" :canResource="$application" />
87-
<x-forms.checkbox instantSave id="isGitShallowCloneEnabled" label="Shallow Clone"
88-
helper="Use shallow cloning (--depth=1) to speed up deployments by only fetching the latest commit history. This reduces clone time and resource usage, especially for large repositories."
89-
canGate="update" :canResource="$application" />
90-
@endif
9193
</div>
9294

9395
</div>

0 commit comments

Comments
 (0)