diff --git a/app/Actions/Server/InstallDocker.php b/app/Actions/Server/InstallDocker.php index eb53b32ee..8131ca7b3 100644 --- a/app/Actions/Server/InstallDocker.php +++ b/app/Actions/Server/InstallDocker.php @@ -76,6 +76,8 @@ class InstallDocker $command = $command->merge([$this->getDebianDockerInstallCommand()]); } elseif ($supported_os_type->contains('rhel')) { $command = $command->merge([$this->getRhelDockerInstallCommand()]); + } elseif ($supported_os_type->contains('fedora')) { + $command = $command->merge([$this->getFedoraDockerInstallCommand()]); } elseif ($supported_os_type->contains('sles')) { $command = $command->merge([$this->getSuseDockerInstallCommand()]); } elseif ($supported_os_type->contains('arch')) { @@ -137,6 +139,16 @@ class InstallDocker ')'; } + private function getFedoraDockerInstallCommand(): string + { + return "curl https://releases.rancher.com/install-docker/{$this->dockerVersion}.sh | sh || curl https://get.docker.com | sh -s -- --version {$this->dockerVersion} || (". + 'dnf dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo && '. + 'dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && '. + 'systemctl start docker && '. + 'systemctl enable docker --now'. + ')'; + } + private function getSuseDockerInstallCommand(): string { return "curl https://releases.rancher.com/install-docker/{$this->dockerVersion}.sh | sh || curl https://get.docker.com | sh -s -- --version {$this->dockerVersion} || (".