diff --git a/install_incus_ollama.sh b/install_incus_ollama.sh index b89b878..9e49a81 100644 --- a/install_incus_ollama.sh +++ b/install_incus_ollama.sh @@ -8,6 +8,21 @@ die () { } +run_command() { + local cmd="$1" + local description="$2" + + echo -e "${YELLOW}Ejecutando: ${description}...${NC}" + echo -e "Comando: ${cmd}\n" >> "${LOG_FILE}" + + eval "${cmd}" >> "${LOG_FILE}" 2>&1 + + if [ $? -ne 0 ]; then + die "Falló al ejecutar: ${description}" + fi +} + + echo "Instalando Incus" # Script para inicializar Incus (LXD) con configuraciones básicas @@ -87,7 +102,8 @@ IMAGE="images:debian/12" #incus launch images:debian/12 ollama-container -incus launch "${IMAGE}" "ollama-container" < /dev/null +#incus launch "${IMAGE}" "ollama-container" < /dev/null +run_command "incus launch ${IMAGE} ollama-container" "Crear contenedor Ollama" if [ $? -eq 0 ]; then echo -e "${GREEN}¡Ollama-container se ha inicializado correctamente!${NC}" @@ -97,21 +113,21 @@ else fi -incus restart ollama-container < /dev/null +incus restart ollama-container incus config device add ollama-container gpu gpu # Install nvidia -incus exec ollama-container -- bash -c 'echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" > /etc/apt/sources.list.d/backports.list' +incus exec ollama-container --console -- bash -c 'echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" > /etc/apt/sources.list.d/backports.list' -incus exec ollama-container -- curl -fsSL https://pkgs.zabbly.com/key.asc | gpg --show-keys --fingerprint +incus exec ollama-container --console -- curl -fsSL https://pkgs.zabbly.com/key.asc | gpg --show-keys --fingerprint -incus exec ollama-container -- mkdir -p /etc/apt/keyrings/ +incus exec ollama-container --console -- mkdir -p /etc/apt/keyrings/ -incus exec ollama-container -- curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc +incus exec ollama-container --console -- curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc -incus exec ollama-container -- sh -c 'cat < /etc/apt/sources.list.d/zabbly-incus-stable.sources +incus exec ollama-container --console -- sh -c 'cat < /etc/apt/sources.list.d/zabbly-incus-stable.sources Enabled: yes Types: deb URIs: https://pkgs.zabbly.com/incus/stable @@ -122,44 +138,44 @@ Signed-By: /etc/apt/keyrings/zabbly.asc EOF' -incus exec ollama-container -- apt install -y software-properties-common +incus exec ollama-container --console -- apt install -y software-properties-common -incus exec ollama-container -- apt-add-repository -y contrib +incus exec ollama-container --console -- apt-add-repository -y contrib -incus exec ollama-container -- apt-add-repository -y non-free +incus exec ollama-container --console -- apt-add-repository -y non-free -incus exec ollama-container -- apt-add-repository -y non-free-firmware +incus exec ollama-container --console -- apt-add-repository -y non-free-firmware -incus exec ollama-container -- apt-get update && sudo apt-get upgrade +incus exec ollama-container --console -- apt-get update && sudo apt-get upgrade # Install new kernel. -incus exec ollama-container -- apt-get -y install linux-image-6.11.10+bpo-amd64 linux-headers-6.11.10+bpo-amd64 +incus exec ollama-container --console -- apt-get -y install linux-image-6.11.10+bpo-amd64 linux-headers-6.11.10+bpo-amd64 # Install cuda nvidia drivers echo "Install nvidia drivers in container" -incus exec ollama-container -- apt -y purge "*nvidia*" +incus exec ollama-container --console -- apt -y purge "*nvidia*" -incus exec ollama-container -- wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb -incus exec ollama-container -- dpkg -i cuda-keyring_1.1-1_all.deb -incus exec ollama-container -- apt-get -y -f install -incus exec ollama-container -- apt update +incus exec ollama-container --console -- wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb +incus exec ollama-container --console -- dpkg -i cuda-keyring_1.1-1_all.deb +incus exec ollama-container --console -- apt-get -y -f install +incus exec ollama-container --console -- apt update -incus exec ollama-container -- bash -c 'echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /" \ +incus exec ollama-container --console -- bash -c 'echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /" \ | tee /etc/apt/sources.list.d/cuda-debian12-x86_64.list' -incus exec ollama-container -- apt -y update +incus exec ollama-container --console -- apt -y update -incus exec ollama-container -- apt -y install cuda-drivers +incus exec ollama-container --console -- apt -y install cuda-drivers echo "Install Ollama in container ollama-container" -incus exec ollama-container -- apt -y install curl -incus exec ollama-container -- curl -fsSL https://ollama.com/install.sh | sh +incus exec ollama-container --console -- apt -y install curl +incus exec ollama-container --console -- curl -fsSL https://ollama.com/install.sh | sh -incus exec ollama-container -- ollama run gemma3:4b +incus exec ollama-container --console -- ollama run gemma3:4b echo "Done!!!"