server->uuid)]; } public function uniqueId(): string { return $this->server->uuid; } public function handle(): void { try { ray()->clearAll(); $containers = instant_remote_process(["docker container inspect $(docker container ls -q) --format '{{json .}}'"], $this->server); $containers = format_docker_command_output_to_json($containers); $applications = $this->server->applications(); // ray($applications); // ray(format_docker_command_output_to_json($containers)); foreach ($applications as $application) { $uuid = data_get($application, 'uuid'); $foundContainer = $containers->filter(function ($value, $key) use ($uuid) { $image = data_get($value, 'Config.Image'); return Str::startsWith($image, $uuid); })->first(); if ($foundContainer) { $containerStatus = data_get($foundContainer, 'State.Status'); $databaseStatus = data_get($application, 'status'); ray($containerStatus, $databaseStatus); if ($containerStatus !== $databaseStatus) { // $application->update(['status' => $containerStatus]); } } } // foreach ($containers as $container) { // $labels = format_docker_labels_to_json(data_get($container,'Config.Labels')); // $foundLabel = $labels->filter(fn ($value, $key) => Str::startsWith($key, 'coolify.applicationId')); // if ($foundLabel->count() > 0) { // $appFound = $applications->where('id', $foundLabel['coolify.applicationId'])->first(); // if ($appFound) { // $containerStatus = data_get($container, 'State.Status'); // $databaseStatus = data_get($appFound, 'status'); // ray($containerStatus, $databaseStatus); // } // } // } } catch (\Throwable $e) { // send_internal_notification('ServerDetailsCheckJob failed with: ' . $e->getMessage()); ray($e->getMessage()); throw $e; } } }