diff --git a/app/Models/Service.php b/app/Models/Service.php
index eabdc1d88..1349b9ee5 100644
--- a/app/Models/Service.php
+++ b/app/Models/Service.php
@@ -81,6 +81,22 @@ class Service extends BaseModel
],
]);
break;
+ case str($image)->contains('weblate'):
+ $admin_email = $this->environment_variables()->where('key', 'WEBLATE_ADMIN_EMAIL')->first();
+ $admin_password = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_WEBLATE')->first();
+ $fields->put('Weblate', [
+ 'Admin Email' => [
+ 'key' => data_get($admin_email, 'key'),
+ 'value' => data_get($admin_email, 'value'),
+ 'rules' => 'required|email',
+ ],
+ 'Admin Password' => [
+ 'key' => data_get($admin_password, 'key'),
+ 'value' => data_get($admin_password, 'value'),
+ 'rules' => 'required',
+ 'isPassword' => true,
+ ],
+ ]);
}
}
$databases = $this->databases()->get();
@@ -725,18 +741,16 @@ class Service extends BaseModel
}
// Add labels to the service
- if (!$isDatabase) {
- if ($savedService->serviceType()) {
- $fqdns = generateServiceSpecificFqdns($savedService, forTraefik: true);
- } else {
- $fqdns = collect(data_get($savedService, 'fqdns'));
- }
- $defaultLabels = defaultLabels($this->id, $containerName, type: 'service', subType: $isDatabase ? 'database' : 'application', subId: $savedService->id);
- $serviceLabels = $serviceLabels->merge($defaultLabels);
- if ($fqdns->count() > 0) {
- if ($fqdns) {
- $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($this->uuid, $fqdns, true));
- }
+ if ($savedService->serviceType()) {
+ $fqdns = generateServiceSpecificFqdns($savedService, forTraefik: true);
+ } else {
+ $fqdns = collect(data_get($savedService, 'fqdns'));
+ }
+ $defaultLabels = defaultLabels($this->id, $containerName, type: 'service', subType: $isDatabase ? 'database' : 'application', subId: $savedService->id);
+ $serviceLabels = $serviceLabels->merge($defaultLabels);
+ if (!$isDatabase && $fqdns->count() > 0) {
+ if ($fqdns) {
+ $serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($this->uuid, $fqdns, true));
}
}
data_set($service, 'labels', $serviceLabels->toArray());
diff --git a/app/Models/ServiceDatabase.php b/app/Models/ServiceDatabase.php
index e37821af2..c86334e39 100644
--- a/app/Models/ServiceDatabase.php
+++ b/app/Models/ServiceDatabase.php
@@ -20,6 +20,10 @@ class ServiceDatabase extends BaseModel
{
return 'service';
}
+ public function serviceType()
+ {
+ return null;
+ }
public function databaseType()
{
$image = str($this->image)->before(':');
@@ -28,7 +32,8 @@ class ServiceDatabase extends BaseModel
}
return "standalone-$image";
}
- public function getServiceDatabaseUrl() {
+ public function getServiceDatabaseUrl()
+ {
$port = $this->public_port;
$realIp = $this->service->server->ip;
if ($realIp === 'host.docker.internal' || isDev()) {
diff --git a/resources/css/app.css b/resources/css/app.css
index 5952f8121..b5d09ef6d 100644
--- a/resources/css/app.css
+++ b/resources/css/app.css
@@ -124,3 +124,6 @@ tr td:first-child {
.fullscreen {
@apply fixed top-0 left-0 w-full h-full z-[9999] bg-coolgray-100 overflow-y-auto scrollbar pb-4 ;
}
+input.input-sm {
+ @apply pr-10;
+}
diff --git a/resources/views/components/forms/input.blade.php b/resources/views/components/forms/input.blade.php
index 36fa0870f..8b4c5cde4 100644
--- a/resources/views/components/forms/input.blade.php
+++ b/resources/views/components/forms/input.blade.php
@@ -13,7 +13,7 @@
@if ($allowToPeak)
+ class="absolute inset-y-0 right-0 flex items-center pr-2 cursor-pointer hover:text-white">