From e2c8aea324226fbbc000b145d07ac4fe0501c306 Mon Sep 17 00:00:00 2001 From: alamin Date: Wed, 11 Feb 2026 02:59:20 +0000 Subject: [PATCH] Update 'ollama.sh' --- ollama.sh | 100 +++++++++++++++++------------------------------------- 1 file changed, 31 insertions(+), 69 deletions(-) diff --git a/ollama.sh b/ollama.sh index 37ed9e6..67364b5 100644 --- a/ollama.sh +++ b/ollama.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2026 tteck -# Modified for custom mirror download - APP="Ollama" var_tags="${var_tags:-ai}" var_cpu="${var_cpu:-4}" @@ -21,40 +18,40 @@ variables color catch_errors -function download_ollama() { - TMP_TAR=$(mktemp --suffix=.tar.zst) +start +build_container +description - msg_info "Trying local mirror..." - if curl -fL# -o "${TMP_TAR}" "${OLLAMA_MIRROR}"; then - msg_ok "Downloaded from mirror" - else - msg_info "Mirror failed, trying GitHub..." - curl -fL# -o "${TMP_TAR}" \ - "https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tar.zst" || { - msg_error "Download failed from both mirror and GitHub!" - exit 1 - } - fi +msg_info "Installing Ollama inside container" - echo "${TMP_TAR}" -} +pct exec $CTID -- bash -c " +set -e -function install_ollama() { - msg_info "Installing Ollama" +echo 'Installing dependencies...' +apt update -qq +apt install -y curl zstd - ensure_dependencies curl zstd +TMP_TAR=\$(mktemp --suffix=.tar.zst) - TAR_FILE=$(download_ollama) +echo 'Trying mirror download...' +if curl -fL -o \$TMP_TAR ${OLLAMA_MIRROR}; then + echo 'Downloaded from mirror' +else + echo 'Mirror failed. Trying GitHub...' + curl -fL -o \$TMP_TAR https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tar.zst +fi - rm -rf /usr/local/lib/ollama - rm -rf /usr/local/bin/ollama +echo 'Installing Ollama...' +rm -rf /usr/local/lib/ollama +rm -f /usr/local/bin/ollama - mkdir -p /usr/local/lib/ollama - tar --zstd -xf "${TAR_FILE}" -C /usr/local/lib/ollama - ln -sf /usr/local/lib/ollama/bin/ollama /usr/local/bin/ollama - rm -f "${TAR_FILE}" +mkdir -p /usr/local/lib/ollama +tar --zstd -xf \$TMP_TAR -C /usr/local/lib/ollama +ln -sf /usr/local/lib/ollama/bin/ollama /usr/local/bin/ollama +rm -f \$TMP_TAR - cat </etc/systemd/system/ollama.service +echo 'Creating systemd service...' +cat </etc/systemd/system/ollama.service [Unit] Description=Ollama Service After=network.target @@ -69,47 +66,12 @@ Group=root WantedBy=multi-user.target EOF - systemctl daemon-reload - systemctl enable ollama - systemctl start ollama - - msg_ok "Ollama Installed Successfully" -} - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /usr/local/lib/ollama ]]; then - msg_error "No Ollama Installation Found!" - exit - fi - - msg_info "Stopping Ollama service" - systemctl stop ollama - - TAR_FILE=$(download_ollama) - - rm -rf /usr/local/lib/ollama - rm -rf /usr/local/bin/ollama - - mkdir -p /usr/local/lib/ollama - tar --zstd -xf "${TAR_FILE}" -C /usr/local/lib/ollama - ln -sf /usr/local/lib/ollama/bin/ollama /usr/local/bin/ollama - rm -f "${TAR_FILE}" - - systemctl start ollama - msg_ok "Ollama Updated Successfully" - exit -} - -start -build_container -description +systemctl daemon-reload +systemctl enable ollama +systemctl start ollama -msg_info "Running Ollama installer inside container" -pct exec $CTID -- bash -c "$(declare -f install_ollama download_ollama); install_ollama" +echo 'Ollama installation complete.' +" msg_ok "Completed successfully!" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"