search-engine/scripts/deploy.sh
King Omar b3aea18d9c Initial commit: RADICAL_SEARCH self-hosted web search engine
Crawler (Majestic Million → undici → cheerio → Meilisearch), Hono search
API with P2P peer federation, Cloudflare Worker frontend, VM provisioning
scripts. Adds README, .gitignore, and moves VM credentials out of deploy.sh
into a git-ignored deploy.env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 01:52:31 +10:00

27 lines
1 KiB
Bash
Executable file

#!/bin/bash
set -e
# Load VM credentials from git-ignored deploy.env (copy deploy.env.example).
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
if [ -f "$SCRIPT_DIR/deploy.env" ]; then
set -a; . "$SCRIPT_DIR/deploy.env"; set +a
fi
VM_HOST="${VM_HOST:?set VM_HOST in scripts/deploy.env}"
VM_USER="${VM_USER:?set VM_USER in scripts/deploy.env}"
VM_PASS="${VM_PASS:?set VM_PASS in scripts/deploy.env}"
ssh_cmd() { sshpass -p "$VM_PASS" ssh -o StrictHostKeyChecking=no "$VM_USER@$VM_HOST" "$@"; }
scp_cmd() { sshpass -p "$VM_PASS" scp -o StrictHostKeyChecking=no -r "$@"; }
echo "=== Syncing files to VM ==="
ssh_cmd "mkdir -p /tmp/search-api /tmp/search-crawler"
scp_cmd ../api/. "$VM_USER@$VM_HOST:/tmp/search-api/"
scp_cmd ../crawler/. "$VM_USER@$VM_HOST:/tmp/search-crawler/"
scp_cmd install-vm.sh "$VM_USER@$VM_HOST:/tmp/install-vm.sh"
echo "=== Running install script ==="
ssh_cmd "bash /tmp/install-vm.sh"
echo "=== Done ==="
ssh_cmd "systemctl status meilisearch --no-pager && systemctl status search-api --no-pager"