diff --git a/00-new2.sh b/00-new2.sh deleted file mode 100644 index 6d8cf76..0000000 --- a/00-new2.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -### CONFIG ### -OPENWEBUI_IMAGE="ghcr.io/open-webui/open-webui:main" -### /CONFIG ### - -echo "=== Step 2: Install Docker, Ollama, and Open WebUI ===" - -if [[ $EUID -ne 0 ]]; then - echo "Please run this script as root, e.g.: sudo bash $0" - exit 1 -fi - -# Figure out the "real" user so we put Open WebUI in their home -REALUSER="${SUDO_USER:-$USER}" -USER_HOME="$(eval echo ~${REALUSER})" -OPENWEBUI_DIR="${USER_HOME}/open-webui" - -echo "Real user: ${REALUSER}" -echo "User home: ${USER_HOME}" -echo "Open WebUI directory: ${OPENWEBUI_DIR}" -echo - -# --- Sanity check: GPU must be visible now --- -if ! command -v nvidia-smi >/dev/null 2>&1; then - echo "WARNING: nvidia-smi not found." - echo "Make sure you ran 00-gpu-driver.sh and rebooted successfully." - echo "You can still continue, but GPU usage may not work." -else - echo "nvidia-smi output:" - nvidia-smi || true -fi - -echo -echo "Step 1/3: Installing Docker Engine + Docker Compose..." - -# Remove old Docker bits if present (ignore errors) -apt-get remove -y docker docker-engine docker.io containerd runc || true - -# Add Docker’s official GPG key -install -m 0755 -d /etc/apt/keyrings -if [ ! -f /etc/apt/keyrings/docker.gpg ]; then - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ - gpg --dearmor -o /etc/apt/keyrings/docker.gpg - chmod a+r /etc/apt/keyrings/docker.gpg -fi - -# Add Docker apt repository -UBUNTU_CODENAME="$(. /etc/os-release && echo "$VERSION_CODENAME")" -if [ ! -f /etc/apt/sources.list.d/docker.list ]; then - echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ - ${UBUNTU_CODENAME} stable" > /etc/apt/sources.list.d/docker.list -fi - -apt-get update -y -apt-get install -y \ - docker-ce \ - docker-ce-cli \ - containerd.io \ - docker-buildx-plugin \ - docker-compose-plugin - -systemctl enable --now docker - -echo "Docker version:" -docker --version || true -echo "Docker Compose plugin version:" -docker compose version || true - -echo -echo "Step 2/3: Installing Ollama (GPU-enabled)..." - -# Let Ollama's installer run even if its CUDA driver step fails -set +e -curl -fsSL https://ollama.com/install.sh | sh -OLLAMA_RC=$? -set -e - -if [ $OLLAMA_RC -ne 0 ]; then - echo "WARNING: Ollama installer returned non-zero (likely CUDA driver conflicts)." - echo "As long as you have a working NVIDIA driver (nvidia-smi works), you can ignore this." -fi - -# Make sure the service is enabled & running -systemctl enable --now ollama || true - -echo "Waiting for Ollama API on http://127.0.0.1:11434 ..." -for i in {1..30}; do - if curl -sSf http://127.0.0.1:11434/api/version >/dev/null 2>&1; then - echo "Ollama is up!" - break - fi - sleep 2 -done - -if ! curl -sSf http://127.0.0.1:11434/api/version >/dev/null 2>&1; then - echo "WARNING: Ollama API not responding yet. Check 'systemctl status ollama'." -fi - -echo -echo "Step 3/3: Setting up Open WebUI with Docker Compose..." - -mkdir -p "${OPENWEBUI_DIR}" -cd "${OPENWEBUI_DIR}" - -cat > docker-compose.yml <<'EOF' -version: "3.8" - -services: - open-webui: - image: ghcr.io/open-webui/open-webui:main - container_name: open-webui - restart: unless-stopped - network_mode: "host" - environment: - - OLLAMA_BASE_URL=http://127.0.0.1:11434 - # Uncomment to disable auth (optional, not recommended on exposed hosts) - # - OPENWEBUI_AUTH=False - volumes: - - ./data:/app/backend/data -EOF - -echo "docker-compose.yml created at ${OPENWEBUI_DIR}/docker-compose.yml" - -docker compose up -d - -echo -echo "==================== DONE ====================" -echo "Ollama service: systemctl status ollama" -echo "Open WebUI stack: cd ${OPENWEBUI_DIR} && docker compose ps" -echo -echo "Access Open WebUI at:" -echo " http://:8080" -echo "=============================================="