{"record":{"id":"ce70655b9e17f65d","repo":"coollabsio/coolify","slug":"docker-engine-is-not-installed-please-install-doc","errorCode":null,"errorMessage":"Docker Engine is not installed. Please install Docker manually before continuing: <a target=\"_blank\" class=\"text-black underline dark:text-white\" href=\"https://docs.docker.com/engine/install/#server\">documentation</a>.","messagePattern":"Docker Engine is not installed\\. Please install Docker manually before continuing: <a target=\"_blank\" class=\"text-black underline dark:text-white\" href=\"https://docs\\.docker\\.com/engine/install/#server\">documentation</a>\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"app/Actions/Server/ValidateServer.php","lineNumber":101,"sourceCode":"\n        $validationResult = $server->validatePrerequisites();\n        if (! $validationResult['success']) {\n            $missingCommands = implode(', ', $validationResult['missing']);\n            $this->error = \"Prerequisites ({$missingCommands}) are not installed. Please install them before continuing or use the validation with installation endpoint.\";\n            $server->update([\n                'validation_logs' => $this->error,\n            ]);\n            throw new \\Exception($this->error);\n        }\n\n        $this->docker_installed = $server->validateDockerEngine();\n        $this->docker_compose_installed = $server->validateDockerCompose();\n        if (! $this->docker_installed || ! $this->docker_compose_installed) {\n            $this->error = 'Docker Engine is not installed. Please install Docker manually before continuing: <a target=\"_blank\" class=\"text-black underline dark:text-white\" href=\"https://docs.docker.com/engine/install/#server\">documentation</a>.';\n            $server->update([\n                'validation_logs' => $this->error,\n            ]);\n            throw new \\Exception($this->error);\n        }\n        $this->docker_version = $server->validateDockerEngineVersion();\n\n        if ($this->docker_version) {\n            return 'OK';\n        } else {\n            $this->error = 'Docker Engine is not installed. Please install Docker manually before continuing: <a target=\"_blank\" class=\"text-black underline dark:text-white\" href=\"https://docs.docker.com/engine/install/#server\">documentation</a>.';\n            $server->update([\n                'validation_logs' => $this->error,\n            ]);\n            throw new \\Exception($this->error);\n        }\n    }\n}\n","sourceCodeStart":83,"sourceCodeEnd":116,"githubUrl":"https://github.com/coollabsio/coolify/blob/70b9acc42467278373e00de77abb40684e25b395/app/Actions/Server/ValidateServer.php#L83-L116","documentation":"ValidateServer checks Docker presence: validateDockerEngine() runs `command -v docker` (and `docker version`) and validateDockerCompose() runs `docker compose version`. If either binary is missing or `docker version` fails, this error is thrown (Docker install docs link) and persisted to validation_logs; settings->is_usable is also set false on the server.","triggerScenarios":"Validating a fresh server that passed OS checks but never had Docker installed; Docker installed via a method that doesn't put it on PATH for the SSH user; compose plugin missing from a manual Docker install.","commonSituations":"Skipping Coolify's automated Docker install; distro Docker packages without the compose plugin; custom PATH for the SSH user.","solutions":["Install Docker Engine + compose plugin manually per the linked docs (or use Coolify's install action), then re-validate.","Verify as the SSH user: command -v docker && docker version && docker compose version.","Ensure the docker compose plugin package is installed (docker-compose-plugin on Debian/RHEL).","If PATH is the issue, log in via SSH as the same user Coolify uses and confirm the binaries resolve."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (! $server->validateDockerEngine() || ! $server->validateDockerCompose()) {\n    return 'Docker Engine/Compose missing. Install Docker (engine + compose plugin), then re-validate.';\n}\nValidateServer::run($server);","typeGuard":"function dockerInstalled(\\App\\Models\\Server $server): bool\n{\n    return $server->validateDockerEngine() && $server->validateDockerCompose();\n}","tryCatchPattern":"try {\n    ValidateServer::run($server);\n} catch (\\Exception $e) {\n    if (str_contains($e->getMessage(), 'Docker Engine is not installed')) {\n        // permanent until remediation: install engine + compose plugin, re-validate\n    } else {\n        throw $e;\n    }\n}","preventionTips":["Use Coolify's automated Docker install or bake Docker (engine + compose plugin) into images.","Verify as the SSH user: command -v docker && docker compose version.","Install docker-compose-plugin explicitly on manual Docker installs."],"tags":["docker","docker-compose","server-validation","installation"],"backgroundTag":"docker-not-installed","analyzedSha":"70b9acc42467278373e00de77abb40684e25b395","analyzedAt":"2026-08-17T01:41:01.313Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}