diff --git a/resources/views/livewire/project/database/postgresql/general.blade.php b/resources/views/livewire/project/database/postgresql/general.blade.php
index 5abde2b01..b90836ce8 100644
--- a/resources/views/livewire/project/database/postgresql/general.blade.php
+++ b/resources/views/livewire/project/database/postgresql/general.blade.php
@@ -73,58 +73,112 @@
type="password" readonly wire:model="db_url_public" />
@endif
-
-
-
-
-
Proxy
-
-
- @if (data_get($database, 'is_public'))
-
- Proxy Logs
-
-
-
- Logs
-
+
+
+
+
SSL Configuration
+ @if ($database->enable_ssl && $certificateValidUntil)
+
@endif
-
-
-
-
-
-
Advanced
-
-
-
-
-
-
Initialization scripts
-
-
-
+ @if ($database->enable_ssl && $certificateValidUntil)
+ Valid until:
+ @if (now()->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired
+ @elseif(now()->addDays(30)->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring
+ soon
+ @else
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }}
+ @endif
+
+ @endif
- @forelse(data_get($database,'init_scripts', []) as $script)
-
- @empty
-
No initialization scripts found.
- @endforelse
+
+
+ @if ($database->enable_ssl)
+
+
+
+
+
+
+
+
+
+ @endif
+
+
+
+
+
+
+
Proxy
+
+
+ @if (data_get($database, 'is_public'))
+
+ Proxy Logs
+
+
+
+ Logs
+
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Advanced
+
+
+
+
+
+
+
Initialization scripts
+
+
+
+
+
+ @forelse(data_get($database,'init_scripts', []) as $script)
+
+ @empty
+
No initialization scripts found.
+ @endforelse
+
-
diff --git a/resources/views/livewire/project/database/redis/general.blade.php b/resources/views/livewire/project/database/redis/general.blade.php
index a274fa62e..a6cae8e38 100644
--- a/resources/views/livewire/project/database/redis/general.blade.php
+++ b/resources/views/livewire/project/database/redis/general.blade.php
@@ -49,6 +49,40 @@
type="password" readonly wire:model="db_url_public" />
@endif
+
+
+
+
SSL Configuration
+ @if($database->enable_ssl && $certificateValidUntil)
+
+ @endif
+
+
+ @if($database->enable_ssl && $certificateValidUntil)
+
Valid until:
+ @if(now()->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired
+ @elseif(now()->addDays(30)->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon
+ @else
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }}
+ @endif
+
+ @endif
+
+
+
+
diff --git a/resources/views/livewire/server/advanced.blade.php b/resources/views/livewire/server/advanced.blade.php
index b6dcf0ea0..471f3767c 100644
--- a/resources/views/livewire/server/advanced.blade.php
+++ b/resources/views/livewire/server/advanced.blade.php
@@ -38,6 +38,95 @@
+
+
+
CA SSL Certificate
+
+
+
+
+
+
+
+
+
Recommended Configuration:
+
+ - Mount this CA certificate of Coolify into all containers that need to connect to one of your databases over SSL. You can see and copy the bind mount below.
+ - Read more when and why this is needed here.
+
+
+
+
+
+
+
+
+
+ CA Certificate
+ @if($certificateValidUntil)
+ (Valid until:
+ @if(now()->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired)
+ @elseif(now()->addDays(30)->gt($certificateValidUntil))
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon)
+ @else
+ {{ $certificateValidUntil->format('d.m.Y H:i:s') }})
+ @endif
+
+ @endif
+
+
+ {{ $showCertificate ? 'Hide' : 'Show' }}
+
+
+ @if($showCertificate)
+
+ @else
+
+ @endif
+
+
diff --git a/scripts/install.sh b/scripts/install.sh
index ba5d4ea14..676e66d8e 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -209,7 +209,7 @@ if [ "$WARNING_SPACE" = true ]; then
sleep 5
fi
-mkdir -p /data/coolify/{source,ssh,applications,databases,backups,services,proxy,webhooks-during-maintenance,sentinel}
+mkdir -p /data/coolify/{source,ssh,applications,databases,backups,services,proxy,ssl,webhooks-during-maintenance,sentinel}
mkdir -p /data/coolify/ssh/{keys,mux}
mkdir -p /data/coolify/proxy/dynamic