feat(openclaw): add Openclaw service with environment variables and health checks

- Implemented Openclaw service in Service.php to manage environment variables and passwords.
- Added Openclaw SVG icon for branding.
- Created openclaw.yaml for Docker Compose configuration, including necessary environment variables and volume mappings.
- Updated service-templates-latest.json and service-templates.json to include Openclaw service details and metadata.
This commit is contained in:
Andras Bacsai
2026-02-09 12:33:17 +01:00
parent 3a00984593
commit 63a1c5c0c7
6 changed files with 227 additions and 10 deletions

View File

@@ -881,7 +881,7 @@ class Service extends BaseModel
],
]);
}
if ($SERVICE_PASSWORD_LINKDING) {
if ($SERVICE_PASSWORD_LINKDING) {
$data = $data->merge([
'Superuser Password' => [
'key' => data_get($SERVICE_PASSWORD_LINKDING, 'key'),
@@ -1118,6 +1118,40 @@ class Service extends BaseModel
}
$fields->put('Sessy', $data->toArray());
break;
case $image->contains('coollabsio/openclaw'):
$data = collect([]);
$username = $this->environment_variables()->where('key', 'AUTH_USERNAME')->first();
$password = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_OPENCLAW')->first();
$gateway_token = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_64_GATEWAYTOKEN')->first();
if ($username) {
$data = $data->merge([
'Username' => [
'key' => data_get($username, 'key'),
'value' => data_get($username, 'value'),
'readonly' => true,
],
]);
}
if ($password) {
$data = $data->merge([
'Password' => [
'key' => data_get($password, 'key'),
'value' => data_get($password, 'value'),
'isPassword' => true,
],
]);
}
if ($gateway_token) {
$data = $data->merge([
'Gateway Token' => [
'key' => data_get($gateway_token, 'key'),
'value' => data_get($gateway_token, 'value'),
'isPassword' => true,
],
]);
}
$fields->put('Openclaw', $data->toArray());
break;
default:
$data = collect([]);
$admin_user = $this->environment_variables()->where('key', 'SERVICE_USER_ADMIN')->first();