feat: qemu for running AMD images on ARM

This commit is contained in:
peaklabs-dev 2024-11-27 15:02:35 +01:00
parent f83b2c32bf
commit 743e234e25
No known key found for this signature in database

View file

@ -151,24 +151,24 @@ echo "| Coolify | $LATEST_VERSION"
echo "| Helper | $LATEST_HELPER_VERSION"
echo "| Realtime | $LATEST_REALTIME_VERSION"
echo -e "---------------------------------------------\n"
echo -e "1. Installing required packages (curl, wget, git, jq, openssl). "
echo -e "1. Installing required packages (curl, wget, git, jq, openssl, qemu). "
case "$OS_TYPE" in
arch)
pacman -Sy --noconfirm --needed curl wget git jq openssl >/dev/null || true
pacman -Sy --noconfirm --needed curl wget git jq openssl qemu-user-static >/dev/null || true
;;
alpine)
sed -i '/^#.*\/community/s/^#//' /etc/apk/repositories
apk update >/dev/null
apk add curl wget git jq openssl >/dev/null
apk add curl wget git jq openssl qemu-user >/dev/null
;;
ubuntu | debian | raspbian)
apt-get update -y >/dev/null
apt-get install -y curl wget git jq openssl >/dev/null
apt-get install -y curl wget git jq openssl qemu-user-static binfmt-support >/dev/null
;;
centos | fedora | rhel | ol | rocky | almalinux | amzn)
if [ "$OS_TYPE" = "amzn" ]; then
dnf install -y wget git jq openssl >/dev/null
dnf install -y wget git jq openssl qemu-user-static >/dev/null
else
if ! command -v dnf >/dev/null; then
yum install -y dnf >/dev/null
@ -176,12 +176,12 @@ centos | fedora | rhel | ol | rocky | almalinux | amzn)
if ! command -v curl >/dev/null; then
dnf install -y curl >/dev/null
fi
dnf install -y wget git jq openssl >/dev/null
dnf install -y wget git jq openssl qemu-user-static >/dev/null
fi
;;
sles | opensuse-leap | opensuse-tumbleweed)
zypper refresh >/dev/null
zypper install -y curl wget git jq openssl >/dev/null
zypper install -y curl wget git jq openssl qemu-linux-user >/dev/null
;;
*)
echo "This script only supports Debian, Redhat, Arch Linux, or SLES based operating systems for now."
@ -189,6 +189,10 @@ sles | opensuse-leap | opensuse-tumbleweed)
;;
esac
echo "Installing multi-architecture support..."
docker run --privileged --rm tonistiigi/binfmt --install all >/dev/null 2>&1 || {
echo "Warning: Failed to install multi-architecture support. If you want to use AMD64 containers on an ARM64 machine or vice versa, you need to install it manually."
}
echo -e "2. Check OpenSSH server configuration. "