coollabsio/coolify · error · Exception
Docker not found or old version is installed.
Error message
Docker not found or old version is installed.
What it means
In the boarding flow, Coolify reads the Docker Engine version over SSH (`docker version | head -2 | grep -i version | awk '{print $2}'`) and passes it to checkMinimumDockerEngineVersion(), which nulls the value when the major version is below config('constants.docker.minimum_required_version'). A null result - Docker missing, the command erroring, or a parse failure - triggers this exception; the server is flagged is_usable = false and the flow returns to the validate-server step.
Source
Thrown at app/Livewire/Boarding/Index.php:421
return;
}
// Prerequisites validated successfully - continue with Docker validation
$this->continueValidation();
} catch (\Throwable $e) {
return handleError(error: $e, livewire: $this);
}
}
private function continueValidation()
{
try {
$dockerVersion = instant_remote_process(["docker version|head -2|grep -i version| awk '{print $2}'"], $this->createdServer, true);
$dockerVersion = checkMinimumDockerEngineVersion($dockerVersion);
if (is_null($dockerVersion)) {
$this->currentState = 'validate-server';
throw new \Exception('Docker not found or old version is installed.');
}
$this->createdServer->settings()->update([
'is_usable' => true,
]);
$this->getProxyType();
} catch (\Throwable $e) {
$this->createdServer->settings()->update([
'is_usable' => false,
]);
return handleError(error: $e, livewire: $this);
}
}
public function selectProxy(?string $proxyType = null)
{
if (! $proxyType) {
return $this->getProjects();View on GitHub (pinned to 70b9acc424)
Solutions
- Install or upgrade Docker Engine from Docker's official repository (e.g. `curl -fsSL https://get.docker.com | sh`) so the major version meets Coolify's minimum
- Ensure the SSH user can run `docker version` without errors (root, or member of the docker group)
- Re-run validation in the boarding UI afterwards
Defensive patterns
Strategy: retry
Validate before calling
# confirm before onboarding what Coolify will see:
ssh user@server 'docker version | head -2 | grep -i version | awk "{print \$2}"'
# a permission error or empty output here reproduces the failure Prevention
- Provision servers with current docker-ce from Docker's official repo, not stale distro packages
- Test `docker version` as the Coolify SSH user (root or docker group) before onboarding
- After install/upgrade, re-run the boarding validation - is_usable is reset to true on success
When it happens
Trigger: `docker` is not on PATH for the SSH user; the user cannot access /var/run/docker.sock so `docker version` prints an error instead of a version line; the installed Engine major is below Coolify's minimum; the parsed output is empty so the version string is garbage.
Common situations: Fresh server where the Docker auto-install failed or was skipped; distro docker.io packages several majors behind; SSH user not in the docker group; onboarding as a non-root user without sudo.
Related errors
- Server OS type is not supported for automated installation.
- Prerequisites ({$missingCommands}) could not be installed af
- Command execution failed (exit code {$process_result->exitCo
- Server OS type is not supported. Please install Docker manua
- Docker Swarm is not initiated. Please join the server to a s
AI-assisted analysis of coollabsio/coolify@70b9acc424 (2026-08-17).
Data as JSON: /api/errors/82407da2f3195480.
Report an issue: GitHub.