diff --git a/network-poc/build-binaries.sh b/network-poc/build-binaries.sh new file mode 100755 index 0000000..06a44b5 --- /dev/null +++ b/network-poc/build-binaries.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Käännä kipina-node binäärit kaikille alustoille +set -e + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +OUT="$SCRIPT_DIR/frontend/public/download" +mkdir -p "$OUT" + +echo "=== Kipinä Node — Binary Build ===" + +# macOS ARM (natiivi) +echo "[1/3] macOS ARM64..." +cd "$SCRIPT_DIR" +cargo build --release -p native-node --no-default-features 2>&1 | tail -1 +cp target/release/native-node "$OUT/kipina-node-macos-arm64" +echo " $(ls -lh "$OUT/kipina-node-macos-arm64" | awk '{print $5}')" + +# Linux x86_64 (Docker) +echo "[2/3] Linux x86_64..." +docker run --rm \ + -v "$SCRIPT_DIR":/app -w /app \ + --platform linux/amd64 \ + rust:slim \ + bash -c "apt-get update -qq && apt-get install -y -qq pkg-config libssl-dev >/dev/null 2>&1 && cargo build --release -p native-node --no-default-features 2>&1 | tail -1 && cp target/release/native-node /app/frontend/public/download/kipina-node-linux-x86_64" +echo " $(ls -lh "$OUT/kipina-node-linux-x86_64" | awk '{print $5}')" + +# Linux ARM64 (Docker) +echo "[3/3] Linux ARM64..." +docker run --rm \ + -v "$SCRIPT_DIR":/app -w /app \ + --platform linux/arm64 \ + rust:slim \ + bash -c "apt-get update -qq && apt-get install -y -qq pkg-config libssl-dev >/dev/null 2>&1 && cargo build --release -p native-node --no-default-features 2>&1 | tail -1 && cp target/release/native-node /app/frontend/public/download/kipina-node-linux-arm64" +echo " $(ls -lh "$OUT/kipina-node-linux-arm64" | awk '{print $5}')" + +echo "" +echo "=== Binäärit valmiina ===" +ls -lh "$OUT"/kipina-node-* diff --git a/network-poc/frontend/public/download/kipina-node-linux-x86_64 b/network-poc/frontend/public/download/kipina-node-linux-x86_64 new file mode 100755 index 0000000..722950a Binary files /dev/null and b/network-poc/frontend/public/download/kipina-node-linux-x86_64 differ diff --git a/network-poc/frontend/public/download/kipina-node-macos-arm64 b/network-poc/frontend/public/download/kipina-node-macos-arm64 new file mode 100755 index 0000000..54b439e Binary files /dev/null and b/network-poc/frontend/public/download/kipina-node-macos-arm64 differ diff --git a/network-poc/frontend/public/kipina-node b/network-poc/frontend/public/kipina-node new file mode 100644 index 0000000..c9ea73d --- /dev/null +++ b/network-poc/frontend/public/kipina-node @@ -0,0 +1,67 @@ +#!/bin/bash +# Kipinä Node — lataa oikea binääri ja käynnistä +set -e + +BASE_URL="https://kipina.studio/download" +HUB_URL="${KIPINA_HUB:-wss://kipina.studio/ws}" +MODEL="${KIPINA_MODEL:-qwen2.5-coder:3b}" + +# Tunnista OS ja arkkitehtuuri +OS=$(uname -s | tr '[:upper:]' '[:lower:]') +ARCH=$(uname -m) + +case "$OS-$ARCH" in + darwin-arm64) BINARY="kipina-node-macos-arm64" ;; + darwin-x86_64) BINARY="kipina-node-macos-arm64" ;; # Rosetta + linux-x86_64) BINARY="kipina-node-linux-x86_64" ;; + linux-aarch64) BINARY="kipina-node-linux-arm64" ;; + *) echo "Ei tuettu: $OS-$ARCH"; exit 1 ;; +esac + +echo "" +echo " ╔══════════════════════════════════════╗" +echo " ║ Kipinä Agentic Node ║" +echo " ╚══════════════════════════════════════╝" +echo "" +echo " OS: $OS ($ARCH)" +echo " Hub: $HUB_URL" +echo " Malli: $MODEL" +echo "" + +# Tarkista Ollama +if ! command -v ollama &>/dev/null; then + echo " ✗ Ollama ei ole asennettu." + echo " Asenna: curl -fsSL https://ollama.ai/install.sh | sh" + echo " macOS: brew install ollama" + exit 1 +fi + +# Varmista Ollama käynnissä +if ! curl -s http://localhost:11434/api/tags &>/dev/null; then + echo " Käynnistetään Ollama..." + ollama serve &>/dev/null & + sleep 3 +fi +echo " ✓ Ollama käynnissä" + +# Lataa malli +if ! ollama list 2>/dev/null | grep -q "$MODEL"; then + echo " Ladataan $MODEL..." + ollama pull "$MODEL" +fi +echo " ✓ Malli $MODEL valmis" + +# Lataa binääri +BIN_PATH="./kipina-node-bin" +if [ ! -f "$BIN_PATH" ]; then + echo " Ladataan $BINARY..." + curl -sSL "$BASE_URL/$BINARY" -o "$BIN_PATH" + chmod +x "$BIN_PATH" +fi + +echo "" +echo " ✓ Yhdistetään laskentaverkkoon..." +echo " Ctrl+C pysäyttää" +echo "" + +HUB_URL="$HUB_URL" OLLAMA_MODEL="$MODEL" exec "$BIN_PATH"