{"record":{"id":"cdf17b91883dd686","repo":"coollabsio/coolify","slug":"server-os-type-is-not-supported-for-automated-inst-cdf17b","errorCode":null,"errorMessage":"Server OS type is not supported for automated installation. Please install prerequisites manually.","messagePattern":"Server OS type is not supported for automated installation\\. Please install prerequisites manually\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"app/Actions/Server/InstallPrerequisites.php","lineNumber":18,"sourceCode":"<?php\n\nnamespace App\\Actions\\Server;\n\nuse App\\Models\\Server;\nuse Lorisleiva\\Actions\\Concerns\\AsAction;\n\nclass InstallPrerequisites\n{\n    use AsAction;\n\n    public string $jobQueue = 'high';\n\n    public function handle(Server $server)\n    {\n        $supported_os_type = $server->validateOS();\n        if (! $supported_os_type) {\n            throw new \\Exception('Server OS type is not supported for automated installation. Please install prerequisites manually.');\n        }\n\n        $command = collect([]);\n\n        if ($supported_os_type->contains('debian')) {\n            $command = $command->merge([\n                \"echo 'Installing Prerequisites...'\",\n                'apt-get update -y',\n                'command -v curl >/dev/null || apt install -y curl',\n                'command -v wget >/dev/null || apt install -y wget',\n                'command -v git >/dev/null || apt install -y git',\n                'command -v jq >/dev/null || apt install -y jq',\n            ]);\n        } elseif ($supported_os_type->contains('rhel')) {\n            $command = $command->merge([\n                \"echo 'Installing Prerequisites...'\",\n                'command -v curl >/dev/null || dnf install -y curl',\n                'command -v wget >/dev/null || dnf install -y wget',","sourceCodeStart":1,"sourceCodeEnd":36,"githubUrl":"https://github.com/coollabsio/coolify/blob/70b9acc42467278373e00de77abb40684e25b395/app/Actions/Server/InstallPrerequisites.php#L1-L36","documentation":"InstallPrerequisites (queued on the 'high' queue) first runs the same Server::validateOS() check: it SSHes out, reads /etc/os-release ID=, and requires a single match against the SUPPORTED_OS groups. When no group matches, it throws this generic \\Exception before attempting any package-manager commands, telling the user to install prerequisites (curl/wget/git/jq) by hand.","triggerScenarios":"Dispatching InstallPrerequisites on a host whose distro ID (from /etc/os-release) is not in SUPPORTED_OS — nixos, gentoo, freebsd, or an image with missing/garbled os-release.","commonSituations":"Same class as the Docker-install error: unusual distros or minimal images; servers provisioned by tools that strip /etc/os-release.","solutions":["Install curl, wget, git and jq manually on the host with the distro's package manager, then re-validate.","Move to a supported OS if you want automated installs.","Verify /etc/os-release contents over SSH if you believe the distro is supported."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if ($server->validateOS() === false) {\n    return 'OS not supported for automated prerequisite installation. Install curl, wget, git and jq manually.';\n}\nInstallPrerequisites::run($server);","typeGuard":"function isAutoInstallableOs(\\App\\Models\\Server $server): bool\n{\n    return $server->validateOS() !== false;\n}","tryCatchPattern":"try {\n    InstallPrerequisites::run($server);\n} catch (\\Exception $e) {\n    if (str_contains($e->getMessage(), 'not supported for automated installation')) {\n        // permanent: fall back to manual instructions\n    } else {\n        throw $e;\n    }\n}","preventionTips":["Bake curl/wget/git/jq into server images (cloud-init or packer) so this path never runs.","Validate the server first; the same OS check runs with friendlier reporting.","Stick to supported distros for hosts managed end-to-end by Coolify."],"tags":["prerequisites","os-detection","server-setup","installation"],"backgroundTag":"unsupported-operating-system","analyzedSha":"70b9acc42467278373e00de77abb40684e25b395","analyzedAt":"2026-08-17T01:41:01.313Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}