summaryrefslogtreecommitdiff
path: root/snippets/hyperstack/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'snippets/hyperstack/install.sh')
-rwxr-xr-xsnippets/hyperstack/install.sh142
1 files changed, 0 insertions, 142 deletions
diff --git a/snippets/hyperstack/install.sh b/snippets/hyperstack/install.sh
deleted file mode 100755
index 3995a62..0000000
--- a/snippets/hyperstack/install.sh
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/bin/bash
-set -e
-
-# OpenCode + Codex + Ollama Installation Script
-# Usage: ./install.sh [user@host] [opencode_version]
-# Example: ./install.sh ubuntu@38.128.233.181 v1.1.32
-
-HOST="${1:-ubuntu@38.128.233.181}"
-OPENCODE_VERSION="${2:-v1.1.32}"
-CODEX_VERSION="${3:-latest}"
-
-echo "Installing OpenCode, Codex, and Ollama on $HOST"
-echo "OpenCode version: $OPENCODE_VERSION"
-echo "Codex version: $CODEX_VERSION"
-
-# Function to run remote commands
-run_remote() {
- ssh "$HOST" "$1"
-}
-
-# 1. Install Ollama
-echo "Step 1: Installing Ollama..."
-run_remote "curl -fsSL https://ollama.ai/install.sh | sh" || echo "Ollama may already be installed"
-
-# 2. Start Ollama service
-echo "Step 2: Starting Ollama service..."
-run_remote "sudo systemctl start ollama && sudo systemctl status ollama" || echo "Starting Ollama..."
-
-# 2.5. Configure Ollama to use /ephemeral for models (if available)
-echo "Step 2.5: Configuring Ollama models directory..."
-run_remote "if [ -d /ephemeral ]; then
- sudo mkdir -p /ephemeral/ollama/models
- sudo chown ollama:ollama /ephemeral/ollama /ephemeral/ollama/models
- sudo mkdir -p /etc/systemd/system/ollama.service.d
- sudo tee /etc/systemd/system/ollama.service.d/override.conf > /dev/null << 'EOF'
-[Service]
-Environment=\"OLLAMA_MODELS=/ephemeral/ollama/models\"
-Environment=\"OLLAMA_GPU_OVERHEAD=2000\"
-Environment=\"OLLAMA_NUM_PARALLEL=4\"
-EOF
- sudo systemctl daemon-reload
- sudo systemctl restart ollama
- sleep 3
- echo 'Ollama configured to use /ephemeral'
-else
- echo 'No /ephemeral directory found, using default'
-fi"
-
-# 3. Kill unattended upgrade lock if it exists
-echo "Step 3: Clearing package manager lock..."
-run_remote "sudo pkill -f unattended-upgrade || true"
-sleep 2
-
-# 4. Install Node.js 20 (required for Codex), npm, and Python
-echo "Step 4: Installing Node.js 20, npm, and Python..."
-run_remote "curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejs python3 python3-pip"
-
-# 5. Download and install OpenCode CLI
-echo "Step 5: Installing OpenCode CLI ($OPENCODE_VERSION)..."
-run_remote "cd /tmp && wget -q https://github.com/anomalyco/opencode/releases/download/$OPENCODE_VERSION/opencode-linux-x64.tar.gz && tar -xzf opencode-linux-x64.tar.gz && sudo mv opencode /usr/local/bin/ && opencode --version"
-
-# 6. Create OpenCode config directory
-echo "Step 6: Creating OpenCode config directory..."
-run_remote "mkdir -p ~/.config/opencode"
-
-# 7. Create OpenCode configuration (qwen3-coder models)
-echo "Step 7: Creating OpenCode configuration..."
-run_remote "cat > ~/.config/opencode/opencode.json << 'EOF'
-{
- \"provider\": {
- \"ollama\": {
- \"npm\": \"@ai-sdk/openai-compatible\",
- \"name\": \"Ollama\",
- \"api\": \"http://localhost:11434/v1\",
- \"models\": {
- \"qwen3-coder:latest\": {
- \"name\": \"Qwen3 Coder Latest (Higher Quality)\"
- },
- \"qwen3-coder:30b-a3b-q4_K_M\": {
- \"name\": \"Qwen3 Coder 30B A3B Q4_K_M (Quantized)\"
- }
- }
- }
- }
-}
-EOF"
-
-# 8. Pull qwen3-coder models
-echo "Step 8: Pulling qwen3-coder models (this may take a while)..."
-run_remote "ollama pull qwen3-coder:latest"
-run_remote "ollama pull qwen3-coder:30b-a3b-q4_K_M"
-
-# 9. Install Codex CLI
-echo "Step 9: Installing Codex CLI..."
-run_remote "sudo npm install -g @openai/codex || npm install -g @openai/codex"
-
-# 10. Create Codex config to use Ollama
-echo "Step 10: Configuring Codex to use Ollama..."
-run_remote "mkdir -p ~/.codex && cat > ~/.codex/config.json << 'EOF'
-{
- \"provider\": \"ollama\",
- \"model\": \"qwen3-coder:30b-a3b-q4_K_M\",
- \"endpoint\": \"http://localhost:11434/v1\"
-}
-EOF"
-
-# 11. Install Aider (LLM-powered code editing)
-echo "Step 11: Installing Aider..."
-run_remote "pip3 install --user aider-chat && echo 'export PATH=~/.local/bin:\$PATH' >> ~/.bashrc"
-
-# 12. Configure Aider to use Ollama
-echo "Step 12: Configuring Aider for Ollama..."
-run_remote "mkdir -p ~/.aider && cat > ~/.aider/.aider.conf.yml << 'EOF'
-model: ollama/qwen2.5-coder:14b-instruct
-openai-api-base: http://localhost:11434/v1
-EOF"
-
-# 13. Verify installation
-echo "Step 13: Verifying installation..."
-run_remote "opencode --version && ollama list && codex --version && ~/.local/bin/aider --version"
-
-echo ""
-echo "✓ Installation complete!"
-echo ""
-echo "To use OpenCode:"
-echo " ssh $HOST"
-echo " cd ~/your/project"
-echo " opencode"
-echo ""
-echo "To use Codex:"
-echo " ssh $HOST"
-echo " codex --oss --local-provider ollama"
-echo ""
-echo "To use Aider (LLM-powered code editing):"
-echo " ssh $HOST"
-echo " cd ~/your/project"
-echo " aider"
-echo " aider <filename>"
-echo ""
-echo "Available models for all tools:"
-echo " - qwen2.5-coder:14b-instruct (fast, ~9GB) - default"
-echo " - qwen3-coder:30b-a3b-q4_K_M (slower, ~18GB)"