#!/bin/bash # Open Notebook Deployment Script for Netcup RS 8000 set -e DEPLOY_DIR="/opt/websites/open-notebook" REMOTE="netcup" echo "=== Open Notebook Deployment ===" # Check if we're running locally or on server if [[ "$1" == "local" ]]; then echo "Running locally - will SSH to deploy..." # Sync files to server echo "[1/5] Syncing files to $REMOTE:$DEPLOY_DIR..." ssh $REMOTE "mkdir -p $DEPLOY_DIR" scp docker-compose.yml docker.env README.md $REMOTE:$DEPLOY_DIR/ # Execute deployment on server echo "[2/5] Deploying on server..." ssh $REMOTE "cd $DEPLOY_DIR && docker compose pull" ssh $REMOTE "cd $DEPLOY_DIR && docker compose up -d" # Pull Ollama models if needed echo "[3/5] Checking Ollama models..." ssh $REMOTE "docker exec ollama ollama list | grep -q llama3.2:3b || docker exec ollama ollama pull llama3.2:3b" ssh $REMOTE "docker exec ollama ollama list | grep -q nomic-embed-text || docker exec ollama ollama pull nomic-embed-text" echo "[4/5] Waiting for container to be healthy..." sleep 10 echo "[5/5] Checking status..." ssh $REMOTE "docker ps | grep open-notebook" echo "" echo "=== Deployment Complete ===" echo "Access Open Notebook at:" echo " - Local: http://159.195.32.209:8502" echo " - After DNS setup: https://notebook.jeffemmett.com" echo "" echo "Don't forget to:" echo " 1. Add API keys to docker.env for STT/TTS features" echo " 2. Configure Cloudflare tunnel hostname" echo " 3. Add DNS CNAME record" else # Running on server echo "Running on server..." cd $DEPLOY_DIR docker compose pull docker compose up -d echo "Checking Ollama models..." docker exec ollama ollama list | grep -q llama3.2:3b || docker exec ollama ollama pull llama3.2:3b docker exec ollama ollama list | grep -q nomic-embed-text || docker exec ollama ollama pull nomic-embed-text echo "Deployment complete!" docker ps | grep open-notebook fi