diff --git a/app/Actions/Server/StartSentinel.php b/app/Actions/Server/StartSentinel.php index be57590a0..aef7282e3 100644 --- a/app/Actions/Server/StartSentinel.php +++ b/app/Actions/Server/StartSentinel.php @@ -18,12 +18,12 @@ class StartSentinel StopSentinel::run($server); } $version = $latestVersion ?? get_latest_sentinel_version(); - $metrics_history = data_get($server, 'settings.sentinel_metrics_history_days'); - $refresh_rate = data_get($server, 'settings.sentinel_metrics_refresh_rate_seconds'); - $push_interval = data_get($server, 'settings.sentinel_push_interval_seconds'); + $metricsHistory = data_get($server, 'settings.sentinel_metrics_history_days'); + $refreshRate = data_get($server, 'settings.sentinel_metrics_refresh_rate_seconds'); + $pushInterval = data_get($server, 'settings.sentinel_push_interval_seconds'); $token = data_get($server, 'settings.sentinel_token'); $endpoint = data_get($server, 'settings.sentinel_custom_url'); - $mount_dir = '/data/coolify/sentinel'; + $mountDir = '/data/coolify/sentinel'; $image = "ghcr.io/coollabsio/sentinel:$version"; if (! $endpoint) { throw new \Exception('You should set FQDN in Instance Settings.'); @@ -31,26 +31,29 @@ class StartSentinel $environments = [ 'TOKEN' => $token, 'PUSH_ENDPOINT' => $endpoint, - 'PUSH_INTERVAL_SECONDS' => $push_interval, + 'PUSH_INTERVAL_SECONDS' => $pushInterval, 'COLLECTOR_ENABLED' => $server->isMetricsEnabled() ? 'true' : 'false', - 'COLLECTOR_REFRESH_RATE_SECONDS' => $refresh_rate, - 'COLLECTOR_RETENTION_PERIOD_DAYS' => $metrics_history, + 'COLLECTOR_REFRESH_RATE_SECONDS' => $refreshRate, + 'COLLECTOR_RETENTION_PERIOD_DAYS' => $metricsHistory, + ]; + $labels = [ + 'coolify.managed' => 'true', ]; if (isDev()) { // data_set($environments, 'DEBUG', 'true'); // $image = 'sentinel'; - $mount_dir = '/var/lib/docker/volumes/coolify_dev_coolify_data/_data/sentinel'; + $mountDir = '/var/lib/docker/volumes/coolify_dev_coolify_data/_data/sentinel'; } - $docker_environments = '-e "'.implode('" -e "', array_map(fn ($key, $value) => "$key=$value", array_keys($environments), $environments)).'"'; - - $docker_command = "docker run -d $docker_environments --name coolify-sentinel -v /var/run/docker.sock:/var/run/docker.sock -v $mount_dir:/app/db --pid host --health-cmd \"curl --fail http://127.0.0.1:8888/api/health || exit 1\" --health-interval 10s --health-retries 3 --add-host=host.docker.internal:host-gateway $image"; + $dockerEnvironments = '-e "'.implode('" -e "', array_map(fn ($key, $value) => "$key=$value", array_keys($environments), $environments)).'"'; + $dockerLabels = implode(' ', array_map(fn ($key, $value) => "$key=$value", array_keys($labels), $labels)); + $dockerCommand = "docker run -d $dockerEnvironments --name coolify-sentinel -v /var/run/docker.sock:/var/run/docker.sock -v $mountDir:/app/db --pid host --health-cmd \"curl --fail http://127.0.0.1:8888/api/health || exit 1\" --health-interval 10s --health-retries 3 --add-host=host.docker.internal:host-gateway --label $dockerLabels $image"; instant_remote_process([ 'docker rm -f coolify-sentinel || true', - "mkdir -p $mount_dir", - $docker_command, - "chown -R 9999:root $mount_dir", - "chmod -R 700 $mount_dir", + "mkdir -p $mountDir", + $dockerCommand, + "chown -R 9999:root $mountDir", + "chmod -R 700 $mountDir", ], $server); $server->settings->is_sentinel_enabled = true;