diff --git a/app/Actions/Database/StartClickhouse.php b/app/Actions/Database/StartClickhouse.php
index 10fe6e0d5..a4e78c4a0 100644
--- a/app/Actions/Database/StartClickhouse.php
+++ b/app/Actions/Database/StartClickhouse.php
@@ -19,7 +19,6 @@ class StartClickhouse
{
$this->database = $database;
- $startCommand = "clickhouse-server";
$container_name = $this->database->uuid;
$this->configuration_dir = database_configuration_dir() . '/' . $container_name;
@@ -32,13 +31,12 @@ class StartClickhouse
$persistent_storages = $this->generate_local_persistent_volumes();
$volume_names = $this->generate_local_persistent_volumes_only_volume_names();
$environment_variables = $this->generate_environment_variables();
-
+ ray($environment_variables);
$docker_compose = [
'version' => '3.8',
'services' => [
$container_name => [
'image' => $this->database->image,
- 'command' => $startCommand,
'container_name' => $container_name,
'environment' => $environment_variables,
'restart' => RESTART_MODE,
@@ -54,9 +52,8 @@ class StartClickhouse
'labels' => [
'coolify.managed' => 'true',
],
- 'user' => $this->database->clickhouse_user,
'healthcheck' => [
- 'test' => "wget -qO- http://localhost:8123/ping || exit 1",
+ 'test' => "clickhouse-client --password {$this->database->clickhouse_admin_password} --query 'SELECT 1'",
'interval' => '5s',
'timeout' => '5s',
'retries' => 10,
@@ -149,16 +146,12 @@ class StartClickhouse
$environment_variables->push("$env->key=$env->real_value");
}
- if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('CLICKHOUSE_DB'))->isEmpty()) {
- $environment_variables->push("CLICKHOUSE_DB={$this->database->clickhouse_db}");
+ if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('CLICKHOUSE_ADMIN_USER'))->isEmpty()) {
+ $environment_variables->push("CLICKHOUSE_ADMIN_USER={$this->database->clickhouse_admin_user}");
}
- if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('CLICKHOUSE_USER'))->isEmpty()) {
- $environment_variables->push("CLICKHOUSE_USER={$this->database->clickhouse_user}");
- }
-
- if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('CLICKHOUSE_PASSWORD'))->isEmpty()) {
- $environment_variables->push("CLICKHOUSE_PASSWORD={$this->database->clickhouse_password}");
+ if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('CLICKHOUSE_ADMIN_PASSWORD'))->isEmpty()) {
+ $environment_variables->push("CLICKHOUSE_ADMIN_PASSWORD={$this->database->clickhouse_admin_password}");
}
return $environment_variables->all();
diff --git a/app/Livewire/Project/Database/Clickhouse/General.php b/app/Livewire/Project/Database/Clickhouse/General.php
index 29fb0cae2..7ff687951 100644
--- a/app/Livewire/Project/Database/Clickhouse/General.php
+++ b/app/Livewire/Project/Database/Clickhouse/General.php
@@ -19,9 +19,8 @@ class General extends Component
protected $rules = [
'database.name' => 'required',
'database.description' => 'nullable',
- 'database.clickhouse_user' => 'required',
- 'database.clickhouse_password' => 'required',
- 'database.clickhouse_db' => 'required',
+ 'database.clickhouse_admin_user' => 'required',
+ 'database.clickhouse_admin_password' => 'required',
'database.image' => 'required',
'database.ports_mappings' => 'nullable',
'database.is_public' => 'nullable|boolean',
@@ -31,9 +30,8 @@ class General extends Component
protected $validationAttributes = [
'database.name' => 'Name',
'database.description' => 'Description',
- 'database.clickhouse_user' => 'Postgres User',
- 'database.clickhouse_password' => 'Postgres Password',
- 'database.clickhouse_db' => 'Postgres DB',
+ 'database.clickhouse_admin_user' => 'Postgres User',
+ 'database.clickhouse_admin_password' => 'Postgres Password',
'database.image' => 'Image',
'database.ports_mappings' => 'Port Mapping',
'database.is_public' => 'Is Public',
diff --git a/app/Models/StandaloneClickhouse.php b/app/Models/StandaloneClickhouse.php
index 35eaf371a..486372df1 100644
--- a/app/Models/StandaloneClickhouse.php
+++ b/app/Models/StandaloneClickhouse.php
@@ -21,59 +21,12 @@ class StandaloneClickhouse extends BaseModel
static::created(function ($database) {
LocalPersistentVolume::create([
'name' => 'clickhouse-data-' . $database->uuid,
- 'mount_path' => '/var/lib/clickhouse/',
+ 'mount_path' => '/bitnami/clickhouse',
'host_path' => null,
'resource_id' => $database->id,
'resource_type' => $database->getMorphClass(),
'is_readonly' => true
]);
- LocalPersistentVolume::create([
- 'name' => 'clickhouse-logs-' . $database->uuid,
- 'mount_path' => '/var/log/clickhouse-server/',
- 'host_path' => null,
- 'resource_id' => $database->id,
- 'resource_type' => $database->getMorphClass(),
- 'is_readonly' => true
- ]);
-// LocalFileVolume::create(
-// [
-// 'mount_path' => '/etc/clickhouse-server/config.d/docker_related_config.xml',
-// 'resource_id' => $database->id,
-// 'resource_type' => $database->getMorphClass(),
-// 'chown' => '101:101',
-// 'chmod' => '644',
-// 'fs_path' => database_configuration_dir() . '/' . $database->uuid . '/config.d/docker_related_config.xml',
-// 'content' => '