diff --git a/app/Actions/Server/InstallDocker.php b/app/Actions/Server/InstallDocker.php index 31e582c9b..04264d41d 100644 --- a/app/Actions/Server/InstallDocker.php +++ b/app/Actions/Server/InstallDocker.php @@ -78,6 +78,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')) { @@ -139,6 +141,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 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} || (". diff --git a/scripts/install.sh b/scripts/install.sh index b014a3d24..5f9dc0a64 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -594,7 +594,8 @@ if ! [ -x "$(command -v docker)" ]; then "centos" | "fedora" | "rhel" | "tencentos") if [ -x "$(command -v dnf5)" ]; then # dnf5 is available - dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/$OS_TYPE/docker-ce.repo --overwrite >/dev/null 2>&1 + dnf config-manager addrepo --from-repofile https://download.docker.com/linux/$OS_TYPE/docker-ce.repo + --overwrite >/dev/null 2>&1 else # dnf5 is not available, use dnf dnf config-manager --add-repo=https://download.docker.com/linux/$OS_TYPE/docker-ce.repo >/dev/null 2>&1